<?xml version="1.0" encoding="UTF-8" ?>
<DataIntegratorExport repositoryVersion="12.2.2.0000" productVersion="12.2.3.2">
<DIDatabaseDatastore name="DW_ABC_DS" typeId="3" >
<DIAttributes>
<DIAttribute name="DBLiveLoad" value="no"/>
<DIAttribute name="application_type" value="Custom"/>
<DIAttribute name="cdc_enabled" value="no"/>
<DIAttribute name="datastore_repotype" value="local"/>
<DIAttribute name="ds_configuration_enabled" value="yes"/>
<DIAttribute name="ds_configurations" hasNestedXMLTree ="true">

<DSConfigurations>
<DSConfiguration default="true" name="Default">
<case_sensitive>no</case_sensitive>
<database_type>Microsoft_SQL_Server</database_type>
<db_alias_name1>DW_ABC_ALIAS</db_alias_name1>
<db_alias_user1>dwabc</db_alias_user1>
<loader_xact_size>1000</loader_xact_size>
<locale_codepage>&lt;default&gt;</locale_codepage>
<locale_language>&lt;default&gt;</locale_language>
<locale_territory>&lt;default&gt;</locale_territory>
<mssql_windows_authentication>no</mssql_windows_authentication>
<password>;89770408927C5ECAB76D9855E0DA5FE4F25B0E2949263E3397D5BD72B1A30930</password>
<sql_server_database>XsStaging</sql_server_database>
<sql_server_dataserver>localhost,1433</sql_server_dataserver>
<sql_server_version>Microsoft SQL Server 2005</sql_server_version>
<user>dwabc</user>
</DSConfiguration>
</DSConfigurations>

</DIAttribute>
<DIAttribute name="enable_data_transfer" value="yes"/>
<DIAttribute name="import_unknown_type" value="no"/>
<DIAttribute name="name" value="DW_ABC_DS"/>
<DIAttribute name="unknown_type_size" value="255"/>
</DIAttributes>
</DIDatabaseDatastore>
<DIDatabaseDatastore name="DW_METADATA_DS" typeId="3" >
<DIAttributes>
<DIAttribute name="DBLiveLoad" value="no"/>
<DIAttribute name="application_type" value="Custom"/>
<DIAttribute name="cdc_enabled" value="no"/>
<DIAttribute name="datastore_repotype" value="local"/>
<DIAttribute name="ds_configuration_enabled" value="yes"/>
<DIAttribute name="ds_configurations" hasNestedXMLTree ="true">

<DSConfigurations>
<DSConfiguration default="true" name="Default">
<case_sensitive>no</case_sensitive>
<database_type>Microsoft_SQL_Server</database_type>
<db_alias_name1>DW_METADATA_ALIAS</db_alias_name1>
<db_alias_user1>dwmetadata</db_alias_user1>
<loader_xact_size>1000</loader_xact_size>
<locale_codepage>&lt;default&gt;</locale_codepage>
<locale_language>&lt;default&gt;</locale_language>
<locale_territory>&lt;default&gt;</locale_territory>
<mssql_windows_authentication>no</mssql_windows_authentication>
<password>;085A6DF93DA01ED1DEA3BB1DC1D656C0EF56E65913FB53605B75804428674DE2</password>
<sql_server_database>XsStaging</sql_server_database>
<sql_server_dataserver>localhost,1433</sql_server_dataserver>
<sql_server_version>Microsoft SQL Server 2005</sql_server_version>
<user>dwmetadata</user>
</DSConfiguration>
</DSConfigurations>

</DIAttribute>
<DIAttribute name="enable_data_transfer" value="yes"/>
<DIAttribute name="import_unknown_type" value="no"/>
<DIAttribute name="name" value="DW_METADATA_DS"/>
<DIAttribute name="unknown_type_size" value="255"/>
</DIAttributes>
</DIDatabaseDatastore>
<DITable name="FILE_LOCATION_INFO" owner="dwmetadata" datastore="DW_METADATA_DS" database="XsStaging" description="" >
<DIProperties>
<DIAttribute name="Table_Type" value="TABLE" />
<DIAttribute name="Estimated_Row_Count" value="50000" />
<DIAttribute name="Loader_Is_Template_Table" value="no" />
<DIAttribute name="db_alias_name" value="DW_METADATA_ALIAS" />
</DIProperties>
<DIColumn name="ID" datatype="DECIMAL" precision="10" scale="0" nullable="false" >
</DIColumn>
<DIColumn name="SOURCE" datatype="VARCHAR" size="30" nullable="true" >
</DIColumn>
<DIColumn name="FILE_LOCATION" datatype="VARCHAR" size="200" nullable="true" >
</DIColumn>
</DITable>
<DIFlatFileDatastore name="ALT_ACTUALCOST" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Sat Feb 26 18:59:24 2011"/>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_(SOURCE_SYSTEM)_FILE_LOCATION"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:57:57 2013"/>
</DIProperties>
<DISchema>
<DIElement name="ACTUALCOST_DESCRIPTION" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="APPLICATION_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="APPLICATION_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="BUDGET_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="BUDGET_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="BUDGETLINE_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="BUDGETLINE_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="BUSSERVICE_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="BUSSERVICE_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="ASSET_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="ASSET_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="CONTRACT_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="CONTRACT_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="COST_BASE" datatype="DOUBLE" >
</DIElement>
<DIElement name="COST_LOC" datatype="DOUBLE" >
</DIElement>
<DIElement name="COSTCAT_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="COSTCATEGORY_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="COSTCENTER_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="COSTCENTER_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="CURRENCY_BASE" datatype="VARCHAR" size="3" >
</DIElement>
<DIElement name="CURRENCY_LOC" datatype="VARCHAR" size="3" >
</DIElement>
<DIElement name="CUSTOMER_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="CUSTOMER_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="DATE_INCURRED_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="DATE_INCURRED_UTC" datatype="DATETIME" >
</DIElement>
<DIElement name="DNFLAG_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="DNFLAG_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="EXCH_BASE_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="EXCH_LOC_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="EXCHANGE_BASE_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="EXCHANGE_LOC_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="EXPENSE_STATUS" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="FLAG_CLOSED" datatype="VARCHAR" size="1" >
</DIElement>
<DIElement name="ITFUNCTION_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="ITFUNCTION_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="LOCATION_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="LOCATION_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="OCFLAG_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="OCFLAG_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="ORG_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="ORG_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="PERIOD_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="PERSON_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PERSON_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="PROGRAM_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PROGRAM_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="PROJECT_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PROJECT_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="QUANTITY" datatype="DOUBLE" >
</DIElement>
<DIElement name="SCENARIO_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="SCENARIO_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="SUPPLIER_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="SUPPLIER_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="100"/>
<DIAttribute name="column_width10" value="100"/>
<DIAttribute name="column_width11" value="1"/>
<DIAttribute name="column_width12" value="100"/>
<DIAttribute name="column_width13" value="1"/>
<DIAttribute name="column_width14" value="1"/>
<DIAttribute name="column_width15" value="1"/>
<DIAttribute name="column_width16" value="1"/>
<DIAttribute name="column_width17" value="100"/>
<DIAttribute name="column_width18" value="100"/>
<DIAttribute name="column_width19" value="1"/>
<DIAttribute name="column_width2" value="100"/>
<DIAttribute name="column_width20" value="3"/>
<DIAttribute name="column_width21" value="3"/>
<DIAttribute name="column_width22" value="100"/>
<DIAttribute name="column_width23" value="1"/>
<DIAttribute name="column_width24" value="1"/>
<DIAttribute name="column_width25" value="1"/>
<DIAttribute name="column_width26" value="100"/>
<DIAttribute name="column_width27" value="1"/>
<DIAttribute name="column_width28" value="1"/>
<DIAttribute name="column_width29" value="1"/>
<DIAttribute name="column_width3" value="1"/>
<DIAttribute name="column_width30" value="100"/>
<DIAttribute name="column_width31" value="100"/>
<DIAttribute name="column_width32" value="60"/>
<DIAttribute name="column_width33" value="1"/>
<DIAttribute name="column_width34" value="100"/>
<DIAttribute name="column_width35" value="1"/>
<DIAttribute name="column_width36" value="100"/>
<DIAttribute name="column_width37" value="1"/>
<DIAttribute name="column_width38" value="100"/>
<DIAttribute name="column_width39" value="100"/>
<DIAttribute name="column_width4" value="100"/>
<DIAttribute name="column_width40" value="1"/>
<DIAttribute name="column_width41" value="100"/>
<DIAttribute name="column_width42" value="1"/>
<DIAttribute name="column_width43" value="1"/>
<DIAttribute name="column_width44" value="100"/>
<DIAttribute name="column_width45" value="1"/>
<DIAttribute name="column_width46" value="100"/>
<DIAttribute name="column_width47" value="1"/>
<DIAttribute name="column_width48" value="100"/>
<DIAttribute name="column_width49" value="1"/>
<DIAttribute name="column_width5" value="1"/>
<DIAttribute name="column_width50" value="1"/>
<DIAttribute name="column_width51" value="100"/>
<DIAttribute name="column_width52" value="1"/>
<DIAttribute name="column_width53" value="100"/>
<DIAttribute name="column_width54" value="1"/>
<DIAttribute name="column_width6" value="100"/>
<DIAttribute name="column_width7" value="1"/>
<DIAttribute name="column_width8" value="100"/>
<DIAttribute name="column_width9" value="1"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="UNNAMED"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_ALT_BUSINESS_APPLICATION" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_{SOURCE SYSTEM}_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Thu Mar 22 13:45:45 2012"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:58:03 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="1024" >
</DIElement>
<DIElement name="MONITORED_BY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DESCRIPTION" datatype="VARCHAR" size="1024" >
</DIElement>
<DIElement name="DISPLAY_LABEL" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="APPLICATION_NAME" datatype="VARCHAR" size="1024" >
</DIElement>
<DIElement name="DATE_CREATED" datatype="DATETIME" >
</DIElement>
<DIElement name="DATE_MODIFIED" datatype="DATETIME" >
</DIElement>
<DIElement name="BUSINESS_CRITICALITY" datatype="INT" >
</DIElement>
<DIElement name="CI_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="APPLICATION_TAGS" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="TIMEZONE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="APPLICATION_NAME_ALT" datatype="VARCHAR" size="1024" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="1" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="!$NC$!"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="1024"/>
<DIAttribute name="column_width10" value="255"/>
<DIAttribute name="column_width11" value="255"/>
<DIAttribute name="column_width12" value="1024"/>
<DIAttribute name="column_width13" value="1"/>
<DIAttribute name="column_width2" value="255"/>
<DIAttribute name="column_width3" value="1024"/>
<DIAttribute name="column_width4" value="60"/>
<DIAttribute name="column_width5" value="1024"/>
<DIAttribute name="column_width6" value="1"/>
<DIAttribute name="column_width7" value="100"/>
<DIAttribute name="column_width8" value="1"/>
<DIAttribute name="column_width9" value="100"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="utf-16"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_ALT_BUSINESS_APPLICATION"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="!$NL$!"/>
<DIAttribute name="row_delimiter_format" value="user"/>
<DIAttribute name="skip_row_header" value="no"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="yes"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_ALTASSET" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_(SOURCE_SYSTEM)_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Mon Oct 20 13:14:00 2008"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:58:09 2013"/>
</DIProperties>
<DISchema>
<DIElement name="ASSET_NAME" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="ASSET_NAME_ALT" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="ASSET_TYPE" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="COSTCENTER_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="DATE_DELIVER" datatype="DATETIME" >
</DIElement>
<DIElement name="DATE_INSTALLED" datatype="DATETIME" >
</DIElement>
<DIElement name="DATE_ORDER" datatype="DATETIME" >
</DIElement>
<DIElement name="DATE_REQUEST" datatype="DATETIME" >
</DIElement>
<DIElement name="DATE_RETIRED" datatype="DATETIME" >
</DIElement>
<DIElement name="LOCATION_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="MAINT_CONT_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="MODEL_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="ORG_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PARENT_BUSINESS_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="ASSET_STATUS" datatype="VARCHAR" size="20" >
</DIElement>
<DIElement name="CI_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="USER_NAME" datatype="VARCHAR" size="100" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="60"/>
<DIAttribute name="column_width10" value="100"/>
<DIAttribute name="column_width11" value="100"/>
<DIAttribute name="column_width12" value="100"/>
<DIAttribute name="column_width13" value="100"/>
<DIAttribute name="column_width14" value="100"/>
<DIAttribute name="column_width15" value="100"/>
<DIAttribute name="column_width16" value="20"/>
<DIAttribute name="column_width17" value="100"/>
<DIAttribute name="column_width18" value="100"/>
<DIAttribute name="column_width2" value="60"/>
<DIAttribute name="column_width3" value="60"/>
<DIAttribute name="column_width4" value="100"/>
<DIAttribute name="column_width5" value="1"/>
<DIAttribute name="column_width6" value="1"/>
<DIAttribute name="column_width7" value="1"/>
<DIAttribute name="column_width8" value="1"/>
<DIAttribute name="column_width9" value="1"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_ALTASSET"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_ALTEMPLOYMENT" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_(SOURCE_SYSTEM)_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Fri Apr 08 16:15:50 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:58:33 2013"/>
</DIProperties>
<DISchema>
<DIElement name="EMPLOYEE_STATUS" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="EMPLOYEE_TYPE" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="END_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PERSON" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="START_DATE" datatype="DATETIME" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="60"/>
<DIAttribute name="column_width2" value="60"/>
<DIAttribute name="column_width3" value="60"/>
<DIAttribute name="column_width4" value="100"/>
<DIAttribute name="column_width5" value="60"/>
<DIAttribute name="column_width6" value="60"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_ALTEMPLOYMENT"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="row_delimiter_within_text" value="Character"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_ALTLOCATION" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_(SOURCE_SYSTEM)_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Fri Feb 11 16:26:00 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:58:55 2013"/>
</DIProperties>
<DISchema>
<DIElement name="BUILDING" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="CITY" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="COUNTRY" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="LOCATION_CATEGORY" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="LOCATION_NAME" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="LOCATION_NAME_ALT" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PARENT_LOCATION_NAME" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="POSTAL_CODE" datatype="VARCHAR" size="10" >
</DIElement>
<DIElement name="SITE" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="STATE_PROVINCE" datatype="VARCHAR" size="60" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="60"/>
<DIAttribute name="column_width10" value="60"/>
<DIAttribute name="column_width11" value="60"/>
<DIAttribute name="column_width2" value="60"/>
<DIAttribute name="column_width3" value="60"/>
<DIAttribute name="column_width4" value="60"/>
<DIAttribute name="column_width5" value="60"/>
<DIAttribute name="column_width6" value="60"/>
<DIAttribute name="column_width7" value="100"/>
<DIAttribute name="column_width8" value="60"/>
<DIAttribute name="column_width9" value="10"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_ALTLOCATION"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="row_delimiter_within_text" value="Character"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_ALTORG" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_(SOURCE_SYSTEM)_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Fri Feb 11 16:28:16 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:59:06 2013"/>
</DIProperties>
<DISchema>
<DIElement name="FLAG_COMPANY" datatype="VARCHAR" size="1" >
</DIElement>
<DIElement name="FLAG_INTERNAL" datatype="VARCHAR" size="1" >
</DIElement>
<DIElement name="MANAGER_NAME" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="ORG_NAME" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="ORG_NAME_ALT" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="PARENT_ORG_NAME" datatype="VARCHAR" size="60" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="1"/>
<DIAttribute name="column_width2" value="1"/>
<DIAttribute name="column_width3" value="60"/>
<DIAttribute name="column_width4" value="100"/>
<DIAttribute name="column_width5" value="60"/>
<DIAttribute name="column_width6" value="60"/>
<DIAttribute name="column_width7" value="60"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_ALTORG"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="row_delimiter_within_text" value="Character"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_ALTPERSON" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_(SOURCE_SYSTEM)_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Thu Mar 03 20:32:21 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:59:12 2013"/>
</DIProperties>
<DISchema>
<DIElement name="DATE_END" datatype="DATETIME" >
</DIElement>
<DIElement name="DATE_START" datatype="DATETIME" >
</DIElement>
<DIElement name="DEPT" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="LOCATION" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PARENT" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="PERSON_NAME" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="PERSON_NAME_ALT" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="PRIMARY_EMAIL" datatype="VARCHAR" size="255" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="60"/>
<DIAttribute name="column_width2" value="60"/>
<DIAttribute name="column_width3" value="60"/>
<DIAttribute name="column_width4" value="60"/>
<DIAttribute name="column_width5" value="100"/>
<DIAttribute name="column_width6" value="60"/>
<DIAttribute name="column_width7" value="60"/>
<DIAttribute name="column_width8" value="60"/>
<DIAttribute name="column_width9" value="255"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_ALTPERSON"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="row_delimiter_within_text" value="Character"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_ALTPLANNEDCOST" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_(SOURCE_SYSTEM)_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Wed Feb 23 15:38:59 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:59:18 2013"/>
</DIProperties>
<DISchema>
<DIElement name="APPLIC_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="APPLICATION_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="BUDGET_BUSINESS_KEY" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="BUDGET_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="BUDGETLINE_BUSINESS_KEY" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="BUDGETLINE_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="BUSSERVICE_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="BUSSERVICE_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="COST_BASE" datatype="DOUBLE" >
</DIElement>
<DIElement name="COST_LOC" datatype="DOUBLE" >
</DIElement>
<DIElement name="COSTCAT_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="COSTCATEGORY_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="CURRENCY_BASE" datatype="VARCHAR" size="3" >
</DIElement>
<DIElement name="CURRENCY_LOC" datatype="VARCHAR" size="3" >
</DIElement>
<DIElement name="CUSTOMER_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="CUSTOMER_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="DNFLAG_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="DNFLAG_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="EXCH_BASE_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="EXCH_BASE_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="EXCH_LOC_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="EXCH_LOC_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="ITFUNCTION_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="ITFUNCTION_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="LOCATION_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="LOCATION_ENTEPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="MANAGER_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="MANAGER_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="OCFLAG_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="OCFLAG_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="ORG_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="ORG_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="PERIOD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PERIOD_START_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="PLANNEDCOST_DESCRIPTION" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PROGRAM_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PROGRAM_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="PROJECT_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PROJECT_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="SCENARIO_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="SCENARIO_ENTEPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="SUPPLIER_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="SUPPLIER_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="1"/>
<DIAttribute name="column_width10" value="1"/>
<DIAttribute name="column_width11" value="1"/>
<DIAttribute name="column_width12" value="100"/>
<DIAttribute name="column_width13" value="3"/>
<DIAttribute name="column_width14" value="3"/>
<DIAttribute name="column_width15" value="100"/>
<DIAttribute name="column_width16" value="1"/>
<DIAttribute name="column_width17" value="100"/>
<DIAttribute name="column_width18" value="1"/>
<DIAttribute name="column_width19" value="100"/>
<DIAttribute name="column_width2" value="100"/>
<DIAttribute name="column_width20" value="1"/>
<DIAttribute name="column_width21" value="100"/>
<DIAttribute name="column_width22" value="1"/>
<DIAttribute name="column_width23" value="100"/>
<DIAttribute name="column_width24" value="1"/>
<DIAttribute name="column_width25" value="100"/>
<DIAttribute name="column_width26" value="1"/>
<DIAttribute name="column_width27" value="100"/>
<DIAttribute name="column_width28" value="1"/>
<DIAttribute name="column_width29" value="100"/>
<DIAttribute name="column_width3" value="60"/>
<DIAttribute name="column_width30" value="100"/>
<DIAttribute name="column_width31" value="1"/>
<DIAttribute name="column_width32" value="100"/>
<DIAttribute name="column_width33" value="1"/>
<DIAttribute name="column_width34" value="100"/>
<DIAttribute name="column_width35" value="1"/>
<DIAttribute name="column_width36" value="100"/>
<DIAttribute name="column_width37" value="100"/>
<DIAttribute name="column_width38" value="1"/>
<DIAttribute name="column_width39" value="100"/>
<DIAttribute name="column_width4" value="1"/>
<DIAttribute name="column_width40" value="1"/>
<DIAttribute name="column_width41" value="100"/>
<DIAttribute name="column_width42" value="1"/>
<DIAttribute name="column_width43" value="100"/>
<DIAttribute name="column_width44" value="1"/>
<DIAttribute name="column_width5" value="60"/>
<DIAttribute name="column_width6" value="1"/>
<DIAttribute name="column_width7" value="100"/>
<DIAttribute name="column_width8" value="1"/>
<DIAttribute name="column_width9" value="1"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_ALTPLANNEDCOST"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="row_delimiter_within_text" value="Character"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_ALTPRJOBJECTIVE" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_(SOURCE_SYSTEM)_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Tue Mar 15 17:23:02 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:59:25 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="OBJECTIVE_NAME" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="OBJECTIVE_PRIORITY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="OBJECTIVE_STATE" datatype="VARCHAR" size="60" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="100"/>
<DIAttribute name="column_width2" value="60"/>
<DIAttribute name="column_width3" value="1"/>
<DIAttribute name="column_width4" value="60"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_ALTPRJOBJECTIVE"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="row_delimiter_within_text" value="Character"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_ALTSERVICE" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_(SOURCE_SYSTEM)_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Mon Oct 20 13:14:00 2008"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:59:48 2013"/>
</DIProperties>
<DISchema>
<DIElement name="BUSINESS_CRITICALITY" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="CI_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="DESCRIPTION" datatype="VARCHAR" size="1024" >
</DIElement>
<DIElement name="DISPLAY_LABEL" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="MANAGER_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="NAME" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="PARENT_SERVICE_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="SERVICE_STATE" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="SERVICE_TYPE" datatype="VARCHAR" size="60" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="1"/>
<DIAttribute name="column_width10" value="60"/>
<DIAttribute name="column_width2" value="100"/>
<DIAttribute name="column_width3" value="1024"/>
<DIAttribute name="column_width4" value="60"/>
<DIAttribute name="column_width5" value="100"/>
<DIAttribute name="column_width6" value="100"/>
<DIAttribute name="column_width7" value="60"/>
<DIAttribute name="column_width8" value="100"/>
<DIAttribute name="column_width9" value="60"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_ALTSERVICE"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_ALTSERVICESTATUS" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_(SOURCE_SYSTEM)_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Thu Mar 24 21:16:03 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:59:54 2013"/>
</DIProperties>
<DISchema>
<DIElement name="DATE_RECORD_START" datatype="DATETIME" >
</DIElement>
<DIElement name="DATE_STATUS_START" datatype="DATETIME" >
</DIElement>
<DIElement name="DURATION" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="MEASURETYPE" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="PERIOD" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="SERVICE" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="STATUS" datatype="VARCHAR" size="60" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="60"/>
<DIAttribute name="column_width2" value="60"/>
<DIAttribute name="column_width3" value="60"/>
<DIAttribute name="column_width4" value="100"/>
<DIAttribute name="column_width5" value="60"/>
<DIAttribute name="column_width6" value="60"/>
<DIAttribute name="column_width7" value="60"/>
<DIAttribute name="column_width8" value="60"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_ALTSERVICESTATUS"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="row_delimiter_within_text" value="Character"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_ALTSLA" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_(SOURCE_SYSTEM)_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Mon Oct 20 13:14:00 2008"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 15:00:00 2013"/>
</DIProperties>
<DISchema>
<DIElement name="DATE_END_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="DATE_START_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="SLA_NAME" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="SLA_STATE" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="SLA_TYPE" datatype="VARCHAR" size="60" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="1"/>
<DIAttribute name="column_width2" value="1"/>
<DIAttribute name="column_width3" value="100"/>
<DIAttribute name="column_width4" value="60"/>
<DIAttribute name="column_width5" value="60"/>
<DIAttribute name="column_width6" value="60"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_ALTSLA"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="row_delimiter_within_text" value="Character"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_ALTSURVEY" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_(SOURCE_SYSTEM)_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Thu Mar 31 14:35:21 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 15:00:17 2013"/>
</DIProperties>
<DISchema>
<DIElement name="FULL_MARK_SCORE" datatype="DOUBLE" >
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="SURVEY_NAME" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="SURVEY_NAME_ALT" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="SURVEY_TYPE" datatype="VARCHAR" size="32" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="1"/>
<DIAttribute name="column_width2" value="100"/>
<DIAttribute name="column_width3" value="60"/>
<DIAttribute name="column_width4" value="60"/>
<DIAttribute name="column_width5" value="32"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_ALTSURVEY"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="row_delimiter_within_text" value="Character"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_ALTSURVEYSCORE" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_(SOURCE_SYSTEM)_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Sat Apr 02 15:50:50 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 15:00:23 2013"/>
</DIProperties>
<DISchema>
<DIElement name="EMPLOYMENT_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="LOCATION_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="ORG_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PERIOD_START_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="PERSON_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="SCORE" datatype="DOUBLE" >
</DIElement>
<DIElement name="SURVEY_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="100"/>
<DIAttribute name="column_width2" value="100"/>
<DIAttribute name="column_width3" value="100"/>
<DIAttribute name="column_width4" value="100"/>
<DIAttribute name="column_width5" value="1"/>
<DIAttribute name="column_width6" value="100"/>
<DIAttribute name="column_width7" value="1"/>
<DIAttribute name="column_width8" value="100"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_ALTSURVEYSCORE"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="row_delimiter_within_text" value="Character"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_ALTTIME_TO_MARKET" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_(SOURCE_SYSTEM)_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Wed Mar 23 16:24:18 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 15:00:29 2013"/>
</DIProperties>
<DISchema>
<DIElement name="INIT_START_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="LOCATION_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="ORG_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PRODUCT_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PROJECT_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="SERVICE_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="TT_MKT_START_DATE" datatype="DATETIME" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="1"/>
<DIAttribute name="column_width2" value="100"/>
<DIAttribute name="column_width3" value="100"/>
<DIAttribute name="column_width4" value="100"/>
<DIAttribute name="column_width5" value="100"/>
<DIAttribute name="column_width6" value="100"/>
<DIAttribute name="column_width7" value="100"/>
<DIAttribute name="column_width8" value="1"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_ALTTIME_TO_MARKET"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="row_delimiter_within_text" value="Character"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_CHANGE" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_(SOURCE_SYSTEM)_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Fri Mar 25 15:01:31 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:58:17 2013"/>
</DIProperties>
<DISchema>
<DIElement name="APPROVAL_STATUS" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="CHANGE_CATEGORY" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="CHANGE_SUBCATEGORY" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="CLOSE_TIME_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="CLOSE_TIME_UTC" datatype="DATETIME" >
</DIElement>
<DIElement name="COMPLETION_CODE" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="CREATE_TIME_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="CREATE_TIME_UTC" datatype="DATETIME" >
</DIElement>
<DIElement name="EMERGENCY_CHANGE" datatype="VARCHAR" size="1" >
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="OUTAGE_END_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="OUTAGE_END_UTC" datatype="DATETIME" >
</DIElement>
<DIElement name="OUTAGE_START_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="OUTAGE_START_UTC" datatype="DATETIME" >
</DIElement>
<DIElement name="PRIORITY" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="REFERENCE_NUMBER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="SERVICE_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="UNPLANNED_CHANGE" datatype="VARCHAR" size="1" >
</DIElement>
<DIElement name="URGENCY" datatype="VARCHAR" size="60" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="60"/>
<DIAttribute name="column_width10" value="100"/>
<DIAttribute name="column_width11" value="1"/>
<DIAttribute name="column_width12" value="1"/>
<DIAttribute name="column_width13" value="1"/>
<DIAttribute name="column_width14" value="1"/>
<DIAttribute name="column_width15" value="60"/>
<DIAttribute name="column_width16" value="100"/>
<DIAttribute name="column_width17" value="100"/>
<DIAttribute name="column_width18" value="1"/>
<DIAttribute name="column_width19" value="60"/>
<DIAttribute name="column_width2" value="60"/>
<DIAttribute name="column_width3" value="60"/>
<DIAttribute name="column_width4" value="1"/>
<DIAttribute name="column_width5" value="1"/>
<DIAttribute name="column_width6" value="60"/>
<DIAttribute name="column_width7" value="1"/>
<DIAttribute name="column_width8" value="1"/>
<DIAttribute name="column_width9" value="1"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_CHANGE"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="row_delimiter_within_text" value="Character"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_CONTRACT" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_(SOURCE_SYSTEM)_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Mon Jun 20 15:08:52 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:58:22 2013"/>
</DIProperties>
<DISchema>
<DIElement name="CONTRACT_CATEGORY" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="CONTRACT_NAME" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="CONTRACT_NAME_ALT" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="COSTCATEGORY_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="COSTCENTER_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="DATE_END_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="DATE_END_UTC" datatype="DATETIME" >
</DIElement>
<DIElement name="DATE_START_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="DATE_START_UTC" datatype="DATETIME" >
</DIElement>
<DIElement name="FLAG_ASSIGNABLE" datatype="VARCHAR" size="1" >
</DIElement>
<DIElement name="FLAG_PURCHASE" datatype="VARCHAR" size="1" >
</DIElement>
<DIElement name="FLAG_RENEWAL" datatype="VARCHAR" size="1" >
</DIElement>
<DIElement name="FLAG_RETURN" datatype="VARCHAR" size="1" >
</DIElement>
<DIElement name="FLAG_UPGRADE" datatype="VARCHAR" size="1" >
</DIElement>
<DIElement name="LICENSE_CATEGORY" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="MANAGER_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PARENT_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PAYMENT_TYPE" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="PERIODICITY" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="PURCHASE_OPTION_TYPE" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="RENEWAL_OPTION_TYPE" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="RETURN_OPTION_TYPE" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="STATUS" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="SUPPLIER_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="UPGRADE_OPTION_TYPE" datatype="VARCHAR" size="60" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="60"/>
<DIAttribute name="column_width10" value="1"/>
<DIAttribute name="column_width11" value="1"/>
<DIAttribute name="column_width12" value="1"/>
<DIAttribute name="column_width13" value="1"/>
<DIAttribute name="column_width14" value="1"/>
<DIAttribute name="column_width15" value="60"/>
<DIAttribute name="column_width16" value="100"/>
<DIAttribute name="column_width17" value="100"/>
<DIAttribute name="column_width18" value="100"/>
<DIAttribute name="column_width19" value="60"/>
<DIAttribute name="column_width2" value="60"/>
<DIAttribute name="column_width20" value="60"/>
<DIAttribute name="column_width21" value="60"/>
<DIAttribute name="column_width22" value="60"/>
<DIAttribute name="column_width23" value="60"/>
<DIAttribute name="column_width24" value="60"/>
<DIAttribute name="column_width25" value="100"/>
<DIAttribute name="column_width26" value="60"/>
<DIAttribute name="column_width3" value="60"/>
<DIAttribute name="column_width4" value="100"/>
<DIAttribute name="column_width5" value="100"/>
<DIAttribute name="column_width6" value="1"/>
<DIAttribute name="column_width7" value="1"/>
<DIAttribute name="column_width8" value="1"/>
<DIAttribute name="column_width9" value="1"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_CONTRACT"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="row_delimiter_within_text" value="Character"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_COSTCENTER" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_(SOURCE_SYSTEM)_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Thu May 26 14:56:24 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:58:28 2013"/>
</DIProperties>
<DISchema>
<DIElement name="COSTCENTER_NAME" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="COSTCENTER_NAME_ALT" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="DATE_END_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="DATE_END_UTC" datatype="DATETIME" >
</DIElement>
<DIElement name="DATE_START_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="DATE_START_UTC" datatype="DATETIME" >
</DIElement>
<DIElement name="GL_CODE" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="MANAGER_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PARENT_NAME" datatype="VARCHAR" size="100" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="60"/>
<DIAttribute name="column_width10" value="100"/>
<DIAttribute name="column_width2" value="60"/>
<DIAttribute name="column_width3" value="1"/>
<DIAttribute name="column_width4" value="1"/>
<DIAttribute name="column_width5" value="1"/>
<DIAttribute name="column_width6" value="1"/>
<DIAttribute name="column_width7" value="60"/>
<DIAttribute name="column_width8" value="100"/>
<DIAttribute name="column_width9" value="100"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_COSTCENTER"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="row_delimiter_within_text" value="Character"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_EXCHANGE" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:58:37 2013"/>
</DIProperties>
<DISchema>
<DIElement name="END_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="EXCHANGE_RATE" datatype="DOUBLE" >
</DIElement>
<DIElement name="IS_CURRENT" datatype="VARCHAR" size="1" >
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="SOURCE_CURRENCY" datatype="VARCHAR" size="3" >
</DIElement>
<DIElement name="START_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="TARGET_CURRENCY" datatype="VARCHAR" size="3" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="1"/>
<DIAttribute name="column_width2" value="1"/>
<DIAttribute name="column_width3" value="1"/>
<DIAttribute name="column_width4" value="100"/>
<DIAttribute name="column_width5" value="3"/>
<DIAttribute name="column_width6" value="1"/>
<DIAttribute name="column_width7" value="3"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_EXCHANGE"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="row_delimiter_within_text" value="Character"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_EXTD_Flat_Files" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the EXTD targets and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Mon Oct 20 13:14:00 2008"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 15:00:28 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="100"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name_EXTD"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="row_delimiter_within_text" value="Character"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_INCIDENT" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_(SOURCE_SYSTEM)_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Wed Apr 06 15:30:25 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:58:43 2013"/>
</DIProperties>
<DISchema>
<DIElement name="ACTIVE_PROCESS" datatype="VARCHAR" size="1" >
</DIElement>
<DIElement name="ASSIGNED_TO_ORG" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="CATEGORY" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="CLOSE_TIME_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="CLOSE_TIME_UTC" datatype="DATETIME" >
</DIElement>
<DIElement name="COMPLETION_CODE" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="CREATE_TIME_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="CREATE_TIME_UTC" datatype="DATETIME" >
</DIElement>
<DIElement name="ESCALATION" datatype="VARCHAR" size="1" >
</DIElement>
<DIElement name="IMPACT_SCOPE" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="INCIDENT_STATUS" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="INCIDENT_TYPE" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="OUTAGE_END_DATE_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="OUTAGE_END_DATE_UTC" datatype="DATETIME" >
</DIElement>
<DIElement name="OUTAGE_START_DATE_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="OUTAGE_START_DATE_UTC" datatype="DATETIME" >
</DIElement>
<DIElement name="PRIORITY" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="PROBLEM_NUMBER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="REFERENCE_NUMBER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="REOPEN_TIME_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="REOPEN_TIME_UTC" datatype="DATETIME" >
</DIElement>
<DIElement name="REQUESTED_BY_ORG" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="SERVICE_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="SUBCATEGORY" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="URGENCY" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="LOCATION_NAME" datatype="VARCHAR" size="100" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="1"/>
<DIAttribute name="column_width10" value="60"/>
<DIAttribute name="column_width11" value="60"/>
<DIAttribute name="column_width12" value="60"/>
<DIAttribute name="column_width13" value="100"/>
<DIAttribute name="column_width14" value="1"/>
<DIAttribute name="column_width15" value="1"/>
<DIAttribute name="column_width16" value="1"/>
<DIAttribute name="column_width17" value="1"/>
<DIAttribute name="column_width18" value="60"/>
<DIAttribute name="column_width19" value="100"/>
<DIAttribute name="column_width2" value="100"/>
<DIAttribute name="column_width20" value="100"/>
<DIAttribute name="column_width21" value="1"/>
<DIAttribute name="column_width22" value="1"/>
<DIAttribute name="column_width23" value="100"/>
<DIAttribute name="column_width24" value="100"/>
<DIAttribute name="column_width25" value="60"/>
<DIAttribute name="column_width26" value="60"/>
<DIAttribute name="column_width27" value="100"/>
<DIAttribute name="column_width3" value="60"/>
<DIAttribute name="column_width4" value="1"/>
<DIAttribute name="column_width5" value="1"/>
<DIAttribute name="column_width6" value="60"/>
<DIAttribute name="column_width7" value="1"/>
<DIAttribute name="column_width8" value="1"/>
<DIAttribute name="column_width9" value="1"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_INCIDENT"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_error_file_name" value=""/>
<DIAttribute name="reader_error_file_root_dir" value=""/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_INTERACTION" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_(SOURCE_SYSTEM)_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Wed Apr 06 10:25:22 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:58:49 2013"/>
</DIProperties>
<DISchema>
<DIElement name="ACTIVE_PROCESS" datatype="VARCHAR" size="1" >
</DIElement>
<DIElement name="CATEGORY" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="CLOSE_TIME" datatype="DATETIME" >
</DIElement>
<DIElement name="COMPLETION_CODE" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="CREATE_TIME" datatype="DATETIME" >
</DIElement>
<DIElement name="CUSTOMER_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="FIRST_CALL" datatype="VARCHAR" size="1" >
</DIElement>
<DIElement name="INTERACTION_STATUS" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="INTERACTION_TYPE" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PRIORITY" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="PROVIDER_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="REFERENCE_NUMBER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="SERVICE_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="SUBCATEGORY" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="SURVEY_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="URGENCY" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="LOCATION_NAME" datatype="VARCHAR" size="100" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="1"/>
<DIAttribute name="column_width10" value="100"/>
<DIAttribute name="column_width11" value="60"/>
<DIAttribute name="column_width12" value="100"/>
<DIAttribute name="column_width13" value="100"/>
<DIAttribute name="column_width14" value="100"/>
<DIAttribute name="column_width15" value="60"/>
<DIAttribute name="column_width16" value="100"/>
<DIAttribute name="column_width17" value="60"/>
<DIAttribute name="column_width18" value="100"/>
<DIAttribute name="column_width2" value="60"/>
<DIAttribute name="column_width3" value="1"/>
<DIAttribute name="column_width4" value="60"/>
<DIAttribute name="column_width5" value="1"/>
<DIAttribute name="column_width6" value="100"/>
<DIAttribute name="column_width7" value="1"/>
<DIAttribute name="column_width8" value="60"/>
<DIAttribute name="column_width9" value="60"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_INTERACTION"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_MODEL" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_(SOURCE_SYSTEM)_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Fri Apr 22 11:08:21 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:59:01 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="MODEL_NAME" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="MODEL_NAME_ALT" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="PARENT_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="OS" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="PROCESSOR" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="MEMORY" datatype="DECIMAL" precision="32" scale="0" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="100"/>
<DIAttribute name="column_width2" value="60"/>
<DIAttribute name="column_width3" value="60"/>
<DIAttribute name="column_width4" value="100"/>
<DIAttribute name="column_width5" value="60"/>
<DIAttribute name="column_width6" value="60"/>
<DIAttribute name="column_width7" value="1"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_MODEL"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="row_delimiter_within_text" value="Character"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_PROJECT" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_(SOURCE_SYSTEM)_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Mon Oct 20 13:14:00 2008"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:59:30 2013"/>
</DIProperties>
<DISchema>
<DIElement name="DESCRIPTION" datatype="VARCHAR" size="1024" >
</DIElement>
<DIElement name="END_DATE_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="END_DATE_UTC" datatype="DATETIME" >
</DIElement>
<DIElement name="FLAG_ACTIVE" datatype="VARCHAR" size="1" >
</DIElement>
<DIElement name="FLAG_COMPLETED" datatype="VARCHAR" size="1" >
</DIElement>
<DIElement name="HEALTH_INDICATOR" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="LOCATION_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="ORG_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PARENT_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PLANNED_END_DATE_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="PLANNED_END_DATE_UTC" datatype="DATETIME" >
</DIElement>
<DIElement name="PLANNED_START_DATE_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="PLANNED_START_DATE_UTC" datatype="DATETIME" >
</DIElement>
<DIElement name="PROJECT_APPROVAL_DATE_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="PROJECT_APPROVAL_DATE_UTC" datatype="DATETIME" >
</DIElement>
<DIElement name="PROJECT_CATEGORY" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="PROJECT_INITIATION_DATE_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="PROJECT_INITIATION_DATE_UTC" datatype="DATETIME" >
</DIElement>
<DIElement name="PROJECT_MGR_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PROJECT_NAME" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="PROJECT_NAME_ALT" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="PROJECT_OBJECTIVE_NAME" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="PROJECT_ROLLOUT_DATE_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="PROJECT_ROLLOUT_DATE_UTC" datatype="DATETIME" >
</DIElement>
<DIElement name="RISK_RATING" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="SERVICE_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="START_DATE_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="START_DATE_UTC" datatype="DATETIME" >
</DIElement>
<DIElement name="STATUS" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="TOTAL_SCORE" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="WORK_PLAN_CREATED_DATE_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="WORK_PLAN_CREATED_DATE_UTC" datatype="DATETIME" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="1024"/>
<DIAttribute name="column_width10" value="100"/>
<DIAttribute name="column_width11" value="1"/>
<DIAttribute name="column_width12" value="1"/>
<DIAttribute name="column_width13" value="1"/>
<DIAttribute name="column_width14" value="1"/>
<DIAttribute name="column_width15" value="1"/>
<DIAttribute name="column_width16" value="1"/>
<DIAttribute name="column_width17" value="60"/>
<DIAttribute name="column_width18" value="1"/>
<DIAttribute name="column_width19" value="1"/>
<DIAttribute name="column_width2" value="1"/>
<DIAttribute name="column_width20" value="100"/>
<DIAttribute name="column_width21" value="60"/>
<DIAttribute name="column_width22" value="60"/>
<DIAttribute name="column_width23" value="60"/>
<DIAttribute name="column_width24" value="1"/>
<DIAttribute name="column_width25" value="1"/>
<DIAttribute name="column_width26" value="1"/>
<DIAttribute name="column_width27" value="100"/>
<DIAttribute name="column_width28" value="1"/>
<DIAttribute name="column_width29" value="1"/>
<DIAttribute name="column_width3" value="1"/>
<DIAttribute name="column_width30" value="60"/>
<DIAttribute name="column_width31" value="1"/>
<DIAttribute name="column_width32" value="1"/>
<DIAttribute name="column_width33" value="1"/>
<DIAttribute name="column_width4" value="1"/>
<DIAttribute name="column_width5" value="1"/>
<DIAttribute name="column_width6" value="60"/>
<DIAttribute name="column_width7" value="100"/>
<DIAttribute name="column_width8" value="100"/>
<DIAttribute name="column_width9" value="100"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_PROJECT"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="row_delimiter_within_text" value="Character"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_PROJECTTASK" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_(SOURCE_SYSTEM)_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Mon Oct 20 13:14:00 2008"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:59:36 2013"/>
</DIProperties>
<DISchema>
<DIElement name="ACTUAL_EFFORT" datatype="DOUBLE" >
</DIElement>
<DIElement name="END_DATE_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="END_DATE_UTC" datatype="DATETIME" >
</DIElement>
<DIElement name="ESTIMATED_REMAINING_EFFORT" datatype="DOUBLE" >
</DIElement>
<DIElement name="FLAG_EXTERNAL_RSC_USED" datatype="VARCHAR" size="1" >
</DIElement>
<DIElement name="LOCATION_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="ORG_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PERSON_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PLANNED_DURATION" datatype="DOUBLE" >
</DIElement>
<DIElement name="PLANNED_EFFORT" datatype="DOUBLE" >
</DIElement>
<DIElement name="PLANNED_END_DATE_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="PLANNED_END_DATE_UTC" datatype="DATETIME" >
</DIElement>
<DIElement name="PLANNED_START_DATE_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="PLANNED_START_DATE_UTC" datatype="DATETIME" >
</DIElement>
<DIElement name="PROJECT_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="SERVICE_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="START_DATE_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="START_DATE_UTC" datatype="DATETIME" >
</DIElement>
<DIElement name="TASK_NAME" datatype="VARCHAR" size="60" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="1"/>
<DIAttribute name="column_width10" value="1"/>
<DIAttribute name="column_width11" value="1"/>
<DIAttribute name="column_width12" value="1"/>
<DIAttribute name="column_width13" value="1"/>
<DIAttribute name="column_width14" value="1"/>
<DIAttribute name="column_width15" value="1"/>
<DIAttribute name="column_width16" value="100"/>
<DIAttribute name="column_width17" value="100"/>
<DIAttribute name="column_width18" value="1"/>
<DIAttribute name="column_width19" value="1"/>
<DIAttribute name="column_width2" value="1"/>
<DIAttribute name="column_width20" value="60"/>
<DIAttribute name="column_width3" value="1"/>
<DIAttribute name="column_width4" value="1"/>
<DIAttribute name="column_width5" value="1"/>
<DIAttribute name="column_width6" value="100"/>
<DIAttribute name="column_width7" value="100"/>
<DIAttribute name="column_width8" value="100"/>
<DIAttribute name="column_width9" value="100"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_PROJECTTASK"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="row_delimiter_within_text" value="Character"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_REVENUE" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_(SOURCE_SYSTEM)_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Thu Mar 24 14:16:15 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:59:42 2013"/>
</DIProperties>
<DISchema>
<DIElement name="ACTUAL_REVENUE_BASE" datatype="DOUBLE" >
</DIElement>
<DIElement name="ACTUAL_REVENUE_LOC" datatype="DOUBLE" >
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="ORG_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PERIOD_START_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="PLAN_REVENUE_BASE" datatype="DOUBLE" >
</DIElement>
<DIElement name="PLAN_REVENUE_LOC" datatype="DOUBLE" >
</DIElement>
<DIElement name="PROJECT_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="SERVICE_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="1"/>
<DIAttribute name="column_width2" value="1"/>
<DIAttribute name="column_width3" value="100"/>
<DIAttribute name="column_width4" value="100"/>
<DIAttribute name="column_width5" value="1"/>
<DIAttribute name="column_width6" value="1"/>
<DIAttribute name="column_width7" value="1"/>
<DIAttribute name="column_width8" value="100"/>
<DIAttribute name="column_width9" value="100"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_REVENUE"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="row_delimiter_within_text" value="Character"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_SLAOUTAGE" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_(SOURCE_SYSTEM)_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Mon Oct 20 13:14:00 2008"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 15:00:06 2013"/>
</DIProperties>
<DISchema>
<DIElement name="EXPECTED_UPTIME" datatype="DOUBLE" >
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="OUTAGE_COUNT" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="PERIOD_START_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="PERIODICITY" datatype="VARCHAR" size="20" >
</DIElement>
<DIElement name="SERVICE_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="SLA_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="TRACKING_TYPE" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="UNPLANNED_DOWNTIME" datatype="DOUBLE" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="1"/>
<DIAttribute name="column_width2" value="100"/>
<DIAttribute name="column_width3" value="1"/>
<DIAttribute name="column_width4" value="1"/>
<DIAttribute name="column_width5" value="20"/>
<DIAttribute name="column_width6" value="100"/>
<DIAttribute name="column_width7" value="100"/>
<DIAttribute name="column_width8" value="60"/>
<DIAttribute name="column_width9" value="1"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_SLAOUTAGE"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="row_delimiter_within_text" value="Character"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIFlatFileDatastore name="ALT_SLASTATUS" typeId="3" >
<DIProperties>
<DIAttribute name="Description" value="This File Format is for the target and will be named dynamically in the Workflow in which it resides.  The Location of the Flat File is set Dynamically with the global variable $G_(SOURCE_SYSTEM)_FILE_LOCATION"/>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Wed Mar 02 06:13:20 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 15:00:12 2013"/>
</DIProperties>
<DISchema>
<DIElement name="CALENDAR_PERIOD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="CONSUMER_ORG_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="IS_OPEN" datatype="VARCHAR" size="1" >
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="MEASURETYPE_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="OBJ_COUNT" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="OBJ_MET_COUNT" datatype="DECIMAL" precision="16" scale="0" >
</DIElement>
<DIElement name="PERIOD_START_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="PROVIDER_ORG_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="SERVICE_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="SLA_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="STATUS_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="abap_file_format" value="no"/>
<DIAttribute name="blank_pad" value="leading"/>
<DIAttribute name="cache" value="yes"/>
<DIAttribute name="column_delimiter" value="|"/>
<DIAttribute name="column_width" value="1"/>
<DIAttribute name="column_width1" value="100"/>
<DIAttribute name="column_width10" value="100"/>
<DIAttribute name="column_width11" value="100"/>
<DIAttribute name="column_width12" value="100"/>
<DIAttribute name="column_width2" value="100"/>
<DIAttribute name="column_width3" value="1"/>
<DIAttribute name="column_width4" value="100"/>
<DIAttribute name="column_width5" value="100"/>
<DIAttribute name="column_width6" value="1"/>
<DIAttribute name="column_width7" value="1"/>
<DIAttribute name="column_width8" value="1"/>
<DIAttribute name="column_width9" value="100"/>
<DIAttribute name="date_format" value="yyyy.mm.dd"/>
<DIAttribute name="datetime_format" value="yyyy.mm.dd hh24:mi:ss"/>
<DIAttribute name="escape_character" value="^"/>
<DIAttribute name="file_format" value="ascii"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="file_name" value="$P_Dynamic_File_Name"/>
<DIAttribute name="file_type" value="delimited_file"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
<DIAttribute name="name" value="ALT_ALTSLASTATUS"/>
<DIAttribute name="number_of_rows_to_skip" value="0"/>
<DIAttribute name="reader_capture_data_conversion_errors" value="no"/>
<DIAttribute name="reader_capture_row_format_errors" value="yes"/>
<DIAttribute name="reader_log_data_conversion_warnings" value="yes"/>
<DIAttribute name="reader_log_row_format_warnings" value="yes"/>
<DIAttribute name="reader_maximum_warnings_to_log" value="-99"/>
<DIAttribute name="reader_write_error_rows_to_file" value="no"/>
<DIAttribute name="root_dir" value="$G_ALT_FILELOCATION"/>
<DIAttribute name="row_delimiter" value="\n"/>
<DIAttribute name="row_delimiter_within_text" value="Character"/>
<DIAttribute name="table_weight" value="0"/>
<DIAttribute name="time_format" value="hh24:mi:ss"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="use_root_dir" value="no"/>
<DIAttribute name="write_bom" value="no"/>
</DIAttributes>
</DIFlatFileDatastore>
<DIExcelDatastore name="ALT_ACTUALCOST_XLS" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Sat Feb 26 15:11:29 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:57:57 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="ACTUALCOST_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="ACTUALCOST_DESCRIPTION" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="COST_LOC" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DATE" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Content_Type" value="DATE"/>
<DIAttribute name="Description" value=""/>
</DIAttributes>
</DIElement>
<DIElement name="BUSSERVICE_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="LOCATION_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="ORG_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PROGRAM_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PROJECT_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DISC_NONDISC" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="OPEX_CAPEX" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="COSTCATEGORY_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="CURRENCY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="EXPENSE_STATUS" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="FLAG_CLOSED" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="QUANTITY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="APPLICATION_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="BUDGET_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="ASSET_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="COSTCENTER_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="CUSTOMER_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="ITFUNCTION_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PERSON_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="SUPPLIER_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="BUDGETLINE_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="SCENARIO_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="CONTRACT_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="255" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_ACTUALCOST.xls"/>
<DIAttribute name="MSExcel_worksheet" value="DATA"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="no"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALT_ALTASSET" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Thu Mar 10 11:05:23 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:58:09 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="ASSET_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="ASSET_NAME_ALT" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="ASSET_TYPE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="COSTCENTER_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DATE_DELIVER" datatype="DATETIME" >
</DIElement>
<DIElement name="DATE_INSTALLED" datatype="DATETIME" >
</DIElement>
<DIElement name="DATE_ORDER" datatype="DATETIME" >
</DIElement>
<DIElement name="DATE_REQUEST" datatype="DATETIME" >
</DIElement>
<DIElement name="DATE_RETIRED" datatype="DATETIME" >
</DIElement>
<DIElement name="LOCATION_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="MAINT_CONT_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="MODEL_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="ORG_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="ASSET_STATUS" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="USER_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PARENT_BUSINESS_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="CI_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="1" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_ASSET.xls"/>
<DIAttribute name="MSExcel_worksheet" value="1"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="yes"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALT_ALTLOCATION" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Sat Feb 12 18:53:49 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:58:55 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="LOCATION_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="LOCATION_NAME_ALT" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="BUILDING" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="CITY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="COUNTRY" datatype="VARCHAR" size="255" >
<DIAttributes>
<DIAttribute name="Content_Type" value="COUNTRY"/>
<DIAttribute name="Description" value=""/>
</DIAttributes>
</DIElement>
<DIElement name="LOCATION_CATEGORY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PARENT_LOCATION_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="POSTAL_CODE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="SITE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="STATE_PROVINCE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="255" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_LOCATION.xls"/>
<DIAttribute name="MSExcel_worksheet" value="1"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="yes"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALT_ALTORG" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Mon Feb 14 09:00:19 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:59:06 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="ORG_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="ORG_NAME_ALT" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="FLAG_COMPANY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="FLAG_INTERNAL" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="MANAGER_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PARENT_ORG_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="255" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_ORG.xls"/>
<DIAttribute name="MSExcel_worksheet" value="1"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="yes"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALT_APPLICATION" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Thu Mar 29 16:09:46 2012"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:58:03 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="1024" >
</DIElement>
<DIElement name="MONITORED_BY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DESCRIPTION" datatype="VARCHAR" size="1024" >
</DIElement>
<DIElement name="DISPLAY_LABEL" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="APPLICATION_NAME" datatype="VARCHAR" size="1024" >
</DIElement>
<DIElement name="DATE_CREATED" datatype="DATETIME" >
</DIElement>
<DIElement name="DATE_MODIFIED" datatype="DATETIME" >
</DIElement>
<DIElement name="BUSINESS_CRITICALITY" datatype="INT" >
</DIElement>
<DIElement name="CI_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="APPLICATION_TAGS" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="TIMEZONE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="APPLICATION_NAME_ALT" datatype="VARCHAR" size="1024" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="1" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_APPLICATION.xls"/>
<DIAttribute name="MSExcel_worksheet" value="DATA"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="no"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALT_CHANGE_XLS" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:58:17 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="APPROVAL_STATUS" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="CHANGE_CATEGORY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="CHANGE_SUBCATEGORY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="EMERGENCY_CHANGE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PRIORITY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="REFERENCE_NUMBER" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="COMPLETION_CODE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="UNPLANNED_CHANGE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="OUTAGE_START" datatype="DATETIME" >
</DIElement>
<DIElement name="OUTAGE_END" datatype="DATETIME" >
</DIElement>
<DIElement name="CLOSE_TIME" datatype="DATETIME" >
</DIElement>
<DIElement name="CREATE_TIME" datatype="DATETIME" >
</DIElement>
<DIElement name="URGENCY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="SERVICE_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="255" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_CHANGE.xls"/>
<DIAttribute name="MSExcel_worksheet" value="DATA"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="no"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="utf-8"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALT_CONTRACT_XLS" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Mon Jun 20 15:11:53 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:58:22 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="CONTRACT_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="CONTRACT_NAME_ALT" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DATE_START" datatype="DATETIME" >
</DIElement>
<DIElement name="DATE_END" datatype="DATETIME" >
</DIElement>
<DIElement name="STATUS" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="CONTRACT_CATEGORY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PAYMENT_TYPE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PERIODICITY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="LICENSE_CATEGORY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="FLAG_PURCHASE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="FLAG_RENEWAL" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="FLAG_RETURN" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="FLAG_UPGRADE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="FLAG_ASSIGNABLE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PURCHASE_OPTION_TYPE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="RENEWAL_OPTION_TYPE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="RETURN_OPTION_TYPE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="UPGRADE_OPTION_TYPE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PARENT_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="MANAGER_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="SUPPLIER_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="COSTCENTER_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="COSTCATEGORY_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="255" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_CONTRACT.xls"/>
<DIAttribute name="MSExcel_worksheet" value="1"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="yes"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALT_COSTCENTER_XLS" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Thu May 26 23:51:56 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:58:28 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="COSTCENTER_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="COSTCENTER_NAME_ALT" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="GL_CODE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DATE_START" datatype="DATETIME" >
</DIElement>
<DIElement name="DATE_END" datatype="DATETIME" >
</DIElement>
<DIElement name="MANAGER_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PARENT_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="255" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_COSTCENTER.xls"/>
<DIAttribute name="MSExcel_worksheet" value="1"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="yes"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALT_EMPLOYMENT_XLS" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Fri Apr 08 16:06:57 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:58:33 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="START_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="END_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="EMPLOYEE_TYPE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="EMPLOYEE_STATUS" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PERSON" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="255" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_EMPLOYMENT.xls"/>
<DIAttribute name="MSExcel_worksheet" value="1"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="yes"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALT_EXCHANGE_XLS" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Tue Aug 27 14:58:37 2013"/>
<DIAttribute name="Date_modified" value="Sun Apr 01 21:57:22 2012"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="SOURCE_CURRENCY" datatype="VARCHAR" size="3" >
</DIElement>
<DIElement name="TARGET_CURRENCY" datatype="VARCHAR" size="3" >
</DIElement>
<DIElement name="START_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="END_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="EXCHANGE_RATE" datatype="DOUBLE" >
</DIElement>
<DIElement name="IS_CURRENT" datatype="VARCHAR" size="1" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="1" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_EXCHANGE.xls"/>
<DIAttribute name="MSExcel_worksheet" value="1"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="yes"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALT_INCIDENT_XLS" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Mon Mar 11 21:08:59 2013"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:58:43 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="INCIDENT_STATUS" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="INCIDENT_TYPE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="CATEGORY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="SUBCATEGORY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="ACTIVE_PROCESS" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PRIORITY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="REFERENCE_NUMBER" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="COMPLETION_CODE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="IMPACT_SCOPE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="URGENCY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="ESCALATION" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="OUTAGE_START_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="OUTAGE_END_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="CLOSE_TIME" datatype="DATETIME" >
</DIElement>
<DIElement name="SERVICE_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="REOPEN_TIME" datatype="DATETIME" >
</DIElement>
<DIElement name="CREATE_TIME" datatype="DATETIME" >
</DIElement>
<DIElement name="REQUESTED_BY_ORG" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="ASSIGNED_TO_ORG" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PROBLEM_NUMBER" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="LOCATION_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="255" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_INCIDENT.xls"/>
<DIAttribute name="MSExcel_worksheet" value="1"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="yes"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="utf-8"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALT_INTERACTION_XLS" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Mon Mar 11 21:09:06 2013"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:58:49 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="INTERACTION_STATUS" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="SUBCATEGORY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="CATEGORY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="INTERACTION_TYPE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="ACTIVE_PROCESS" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="COMPLETION_CODE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="URGENCY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PRIORITY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="REFERENCE_NUMBER" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="CLOSE_TIME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="FIRST_CALL" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="CREATE_TIME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="CUSTOMER_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="SERVICE_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="SURVEY_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PROVIDER_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="LOCATION_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="255" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_INTERACTION.xls"/>
<DIAttribute name="MSExcel_worksheet" value="DATA"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="no"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALT_MODEL_XLS" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Fri Apr 22 12:19:39 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:59:01 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="MODEL_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="MODEL_NAME_ALT" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PARENT_MODEL_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="OS" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PROCESSOR" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="MEMORY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="255" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_MODEL.xls"/>
<DIAttribute name="MSExcel_worksheet" value="DATA"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="no"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALT_PERSON_XLS" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Fri Mar 04 16:17:40 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:59:12 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="PERSON_NAME" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="PERSON_NAME_ALT" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="DATE_END" datatype="DATETIME" >
</DIElement>
<DIElement name="DATE_START" datatype="DATETIME" >
</DIElement>
<DIElement name="DEPT" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="LOCATION" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="PARENT" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="PRIMARY_EMAIL" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="60" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_PERSON.xls"/>
<DIAttribute name="MSExcel_worksheet" value="1"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="yes"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="utf-8"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALT_PLANNEDCOST_FACT_XLS" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Wed Feb 23 16:22:00 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:59:18 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PLANNEDCOST_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PLANNEDCOST_DESCRIPTION" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="APPLICATION_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="BUDGET_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="BUDGETLINE_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="BUSSERVICE_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="COST_LOC" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="COSTCATEGORY_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="CURRENCY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="CUSTOMER_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="DISC_NONDISC" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="ITFUNCTION_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="LOCATION_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="MANAGER_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="OPEX_CAPEX" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="ORG_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PROGRAM_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PROJECT_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="SCENARIO_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="SUPPLIER_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="255" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_PLANNEDCOST.xls"/>
<DIAttribute name="MSExcel_worksheet" value="1"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="yes"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALT_PRJOBJECTIVE" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Tue Mar 15 17:34:02 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:59:25 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="OBJECTIVE_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="OBJECTIVE_STATE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="OBJECTIVE_PRIORITY" datatype="INT" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="255" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_PRJOBJECTIVE.xls"/>
<DIAttribute name="MSExcel_worksheet" value="1"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="yes"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALT_PROJECT" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Fri Mar 25 08:18:39 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:59:30 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PROJECT_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PROJECT_NAME_ALT" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DESCRIPTION" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="FLAG_ACTIVE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="FLAG_COMPLETED" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PARENT_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PROJECT_CATEGORY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PROJECT_MGR_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="STATUS" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="END_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="HEALTH_INDICATOR" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="TOTAL_SCORE" datatype="INT" >
</DIElement>
<DIElement name="RISK_RATING" datatype="INT" >
</DIElement>
<DIElement name="PLANNED_END_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="PLANNED_START_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="PROJECT_APPROVAL_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="PROJECT_INITIATION_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="PROJECT_ROLLOUT_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="START_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="WORK_PLAN_CREATED_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="PROJECT_OBJECTIVE_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="LOCATION_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="ORG_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="SERVICE_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="255" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_PROJECT.xls"/>
<DIAttribute name="MSExcel_worksheet" value="DATA"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="no"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALT_PROJECTTASK_XLS" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Thu Mar 31 15:34:33 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:59:37 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="ACTUAL_EFFORT" datatype="DOUBLE" >
</DIElement>
<DIElement name="END_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="ESTIMATED_REMAINING_EFFORT" datatype="DOUBLE" >
</DIElement>
<DIElement name="FLAG_EXTERNAL_RSC_USED" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PLANNED_DURATION" datatype="DOUBLE" >
</DIElement>
<DIElement name="PLANNED_EFFORT" datatype="DOUBLE" >
</DIElement>
<DIElement name="PLANNED_END_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="PLANNED_START_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="PROJECT_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="TASK_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="START_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="SERVICE_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="ORG_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="LOCATION_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PERSON_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="255" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_PROJECTTASK.xls"/>
<DIAttribute name="MSExcel_worksheet" value="1"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="yes"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALT_REVENUE_XLS" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Thu Mar 24 15:50:20 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:59:42 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="ACTUAL_REVENUE_BASE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="ACTUAL_REVENUE_LOC" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="ORG_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PERIOD_START_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="PLAN_REVENUE_BASE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PLAN_REVENUE_LOC" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PROJECT_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="SERVICE_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="255" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_REVENUE.xls"/>
<DIAttribute name="MSExcel_worksheet" value="1"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="yes"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="utf-8"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALT_SERVICE_DIM_XLS" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Thu Feb 10 15:37:37 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:59:48 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="SERVICE_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="BUSINESS_CRITICALITY" datatype="INT" >
</DIElement>
<DIElement name="CI_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="DESCRIPTION" datatype="VARCHAR" size="1024" >
</DIElement>
<DIElement name="DISPLAY_LABEL" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="MANAGER_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PARENT_SERVICE_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="SERVICE_STATE" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="SERVICE_TYPE" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="1" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_SERVICE_DIM.xls"/>
<DIAttribute name="MSExcel_worksheet" value="1"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="yes"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALT_SERVICESTATUS_FACT_XLS" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Fri Mar 25 16:56:14 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 14:59:54 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DATE_RECORD_START" datatype="DATETIME" >
</DIElement>
<DIElement name="DATE_STATUS_START" datatype="DATETIME" >
</DIElement>
<DIElement name="DURATION" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="MEASURETYPE_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PERIOD_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="SERVICE_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="STATUS_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="255" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_SERVICESTATUS_FACT.xls"/>
<DIAttribute name="MSExcel_worksheet" value="1"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="yes"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALT_SLAOUTAGE" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Mon Mar 14 09:51:50 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 15:00:06 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PERIOD_START_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="PERIODICITY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="TRACKING_TYPE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="OUTAGE_COUNT" datatype="DOUBLE" >
</DIElement>
<DIElement name="EXPECTED_UPTIME" datatype="DOUBLE" >
</DIElement>
<DIElement name="UNPLANNED_DOWNTIME" datatype="DOUBLE" >
</DIElement>
<DIElement name="SLA_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="SERVICE_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="255" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_SLAOUTAGE.xls"/>
<DIAttribute name="MSExcel_worksheet" value="DATA"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="no"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALT_SLASTATUS_XLS" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Wed Mar 02 08:25:46 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 15:00:12 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="CALENDAR_PERIOD" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="CONSUMER_ORG_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="IS_OPEN" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="MEASURETYPE_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="OBJ_COUNT" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="OBJ_MET_COUNT" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DATE" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Content_Type" value="DATE"/>
<DIAttribute name="Description" value=""/>
</DIAttributes>
</DIElement>
<DIElement name="PROVIDER_ORG_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="SERVICE_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="SLA_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="STATUS_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="255" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_SLASTATUS.xls"/>
<DIAttribute name="MSExcel_worksheet" value="1"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="yes"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALT_SURVEY_XLS" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Thu Mar 31 14:41:32 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 15:00:17 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="FULL_MARK_SCORE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="SURVEY_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="SURVEY_NAME_ALT" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="SURVEY_TYPE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="255" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_SURVEY.xls"/>
<DIAttribute name="MSExcel_worksheet" value="1"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="yes"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="utf-8"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALT_SURVEYSCORE_XLS" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Sat Apr 02 15:56:56 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 15:00:23 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="SCORE" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PERSON_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="SURVEY_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="PERIOD_START_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="ORG_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="LOCATION_NAME" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="EMPLOYMENT_BUSINESS_KEY" datatype="VARCHAR" size="255" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="1" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_SURVEYSCORE.xls"/>
<DIAttribute name="MSExcel_worksheet" value="1"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="yes"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="utf-8"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALT_TIME_TO_MARKET_XLS" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Wed Mar 23 16:28:32 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 15:00:29 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="LOCATION_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="ORG_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PRODUCT_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="PROJECT_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="SERVICE_NAME" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="INIT_START_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="TT_MKT_START_DATE" datatype="DATETIME" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="100" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_TIME_TO_MARKET.xls"/>
<DIAttribute name="MSExcel_worksheet" value="1"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="yes"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="utf-8"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIExcelDatastore name="ALTSRC_SLA_DIM" typeId="3" >
<DIProperties>
<DIAttribute name="SavedAfterCheckOut" value="YES"/>
<DIAttribute name="Date_created" value="Thu Mar 03 16:33:16 2011"/>
<DIAttribute name="Date_modified" value="Tue Aug 27 15:00:00 2013"/>
</DIProperties>
<DISchema>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement name="DATE_END_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="DATE_START_LOC" datatype="DATETIME" >
</DIElement>
<DIElement name="SLA_NAME" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="SLA_STATE" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="SLA_TYPE" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="1" >
</DIElement>
</DISchema>
<DIAttributes>
<DIAttribute name="MSExcel_file_dir" value="$G_EXTN_FILELOCATION"/>
<DIAttribute name="MSExcel_file_name" value="ALT_SLA_DIM.xls"/>
<DIAttribute name="MSExcel_worksheet" value="1"/>
<DIAttribute name="MSExcel_worksheet_all" value="yes"/>
<DIAttribute name="MSExcel_worksheet_is_number" value="yes"/>
<DIAttribute name="MSExcel_worksheet_use_1row_names" value="yes"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIExcelDatastore>
<DIScriptFunction name="ABC_ADDAUDITMEASURE_FN" typeId="11" >
<DIUIOptions>
<DIAttribute name="ui_script_text" value="print('Saving audit measure for process ID = {$p_process_id}');&#xA;print('-&gt;  job stream step detail name = {$p_job_stream_step_detail_name}');&#xA;print('-&gt;  name = {$p_name}');&#xA;print('-&gt;  value = {$p_value}');&#xA;print('-&gt;  category = {$p_category}');&#xA;print('-&gt;  description = {$p_description}');&#xA;&#xA;sql('DW_ABC_DS','insert into AUDIT_MEASURE &#xA;&#x9;&#x9;(MD_PROCESS_ID, JOB_STREAM_STEP_DETAIL_NAME, NAME, VALUE, UNIT, CATEGORY, DESCRIPTION) &#xA;&#x9;&#x9;VALUES ({$p_process_id},{$p_job_stream_step_detail_name},{$p_name},{$p_value},{$p_unit},{$p_category}, {$p_description} )');&#xA;&#xA;# retrieve the affected ID &#xA;$l_created_key = sql('DW_ABC_DS','SELECT AUDIT_MEASURE_ID from AUDIT_MEASURE where MD_PROCESS_ID = {$p_process_id} AND JOB_STREAM_STEP_DETAIL_NAME = {$p_job_stream_step_detail_name} AND NAME = {$p_name}'); &#xA;print('-&gt;  l_created_key = {$l_created_key}');&#xA;&#xA;&#xA;return $l_created_key;"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="Acta_user_func_category" value="User_Script_Function"/>
<DIAttribute name="Parallelizable" value="no"/>
<DIAttribute name="isScriptValidationFunction" value="no"/>
</DIProperties>
<DIParameters><DIElement paramType="IN" name="$p_process_id" datatype="DECIMAL" precision="19" scale="0" >
</DIElement>
<DIElement paramType="IN" name="$p_job_stream_step_detail_name" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement paramType="IN" name="$p_name" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement paramType="IN" name="$p_value" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$p_unit" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement paramType="IN" name="$p_category" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement paramType="IN" name="$p_description" datatype="VARCHAR" size="255" >
</DIElement>
</DIParameters>
<DIVariables><DIElement paramType="LOCAL" name="$l_created_key" datatype="DECIMAL" precision="19" scale="0" >
</DIElement>
</DIVariables>
<DIFunctionReturn datatype="INT" />
<DISteps>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="print('Saving audit measure for process ID = {$p_process_id}')" >
<FUNCTION_CALL name="print"  type="DI" >
<CONSTANT value="Saving audit measure for process ID = {$p_process_id}" datatype="VARCHAR" size="53" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="print('-&gt;  job stream step detail name = {$p_job_stream_step_detail_name}')" >
<FUNCTION_CALL name="print"  type="DI" >
<CONSTANT value="-&gt;  job stream step detail name = {$p_job_stream_step_detail_name}" datatype="VARCHAR" size="66" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="print('-&gt;  name = {$p_name}')" >
<FUNCTION_CALL name="print"  type="DI" >
<CONSTANT value="-&gt;  name = {$p_name}" datatype="VARCHAR" size="20" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="print('-&gt;  value = {$p_value}')" >
<FUNCTION_CALL name="print"  type="DI" >
<CONSTANT value="-&gt;  value = {$p_value}" datatype="VARCHAR" size="22" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="print('-&gt;  category = {$p_category}')" >
<FUNCTION_CALL name="print"  type="DI" >
<CONSTANT value="-&gt;  category = {$p_category}" datatype="VARCHAR" size="28" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="print('-&gt;  description = {$p_description}')" >
<FUNCTION_CALL name="print"  type="DI" >
<CONSTANT value="-&gt;  description = {$p_description}" datatype="VARCHAR" size="34" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="sql('DW_ABC_DS', 'insert into AUDIT_MEASURE &#xA;&#x9;&#x9;(MD_PROCESS_ID, JOB_STREAM_STEP_DETAIL_NAME, NAME, VALUE, UNIT, CATEGORY, DESCRIPTION) &#xA;&#x9;&#x9;VALUES ({$p_process_id},{$p_job_stream_step_detail_name},{$p_name},{$p_value},{$p_unit},{$p_category}, {$p_description} )')" >
<FUNCTION_CALL name="sql"  type="DI" >
<CONSTANT value="DW_ABC_DS" datatype="VARCHAR" size="9" />
<CONSTANT value="insert into AUDIT_MEASURE &#xA;&#x9;&#x9;(MD_PROCESS_ID, JOB_STREAM_STEP_DETAIL_NAME, NAME, VALUE, UNIT, CATEGORY, DESCRIPTION) &#xA;&#x9;&#x9;VALUES ({$p_process_id},{$p_job_stream_step_detail_name},{$p_name},{$p_value},{$p_unit},{$p_category}, {$p_description} )" datatype="VARCHAR" size="240" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$l_created_key" >
<DIExpression isString="true" expr="sql('DW_ABC_DS', 'SELECT AUDIT_MEASURE_ID from AUDIT_MEASURE where MD_PROCESS_ID = {$p_process_id} AND JOB_STREAM_STEP_DETAIL_NAME = {$p_job_stream_step_detail_name} AND NAME = {$p_name}')" >
<FUNCTION_CALL name="sql"  type="DI" >
<CONSTANT value="DW_ABC_DS" datatype="VARCHAR" size="9" />
<CONSTANT value="SELECT AUDIT_MEASURE_ID from AUDIT_MEASURE where MD_PROCESS_ID = {$p_process_id} AND JOB_STREAM_STEP_DETAIL_NAME = {$p_job_stream_step_detail_name} AND NAME = {$p_name}" datatype="VARCHAR" size="168" />
</FUNCTION_CALL>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="print('-&gt;  l_created_key = {$l_created_key}')" >
<FUNCTION_CALL name="print"  type="DI" >
<CONSTANT value="-&gt;  l_created_key = {$l_created_key}" datatype="VARCHAR" size="36" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIReturnStep typeId="30" >
<DIExpression isString="true" expr="$l_created_key" >
<VARIABLE_REFERENCE name="$l_created_key" />
</DIExpression>
</DIReturnStep>
</DISteps>
</DIScriptFunction>
<DIScriptFunction name="ABC_ENDJB_FN" typeId="11" >
<DIUIOptions>
<DIAttribute name="ui_script_text" value="#UPDATE STEP_RUNTIME RECORD WITH SUCCESS STATUS AND END TIME&#xA;#GET JOB_ID&#xA;&#xA;$l_status = 'SUCCESS';&#xA;#$now = sysdate();&#xA;&#xA;$l_wf_failed_count = sql('DW_ABC_DS',' select count(status) from JOB_STREAM_STEP_DETAIL_RT&#xA;                    where MD_PROCESS_ID = {$p_process_id} AND (status = \'ERROR\' or status = \'MAX_EXECUTION_TIME_EXCEEDED\')');&#xA;ETL_PRINT( '**     wf_failed_count = {$l_wf_failed_count}' );&#xA;&#xA;$l_wf_success_count = sql('DW_ABC_DS',' select count(status) from JOB_STREAM_STEP_DETAIL_RT&#xA;                     where MD_PROCESS_ID = {$p_process_id} AND status = \'SUCCESS\'');&#xA;ETL_PRINT( '**     wf_success_count = {$l_wf_success_count}' );&#xA;&#xA;$l_am_failed_count = sql('DW_ABC_DS',' select count(status) from AUDIT_METRIC&#xA;                    where MD_PROCESS_ID = {$p_process_id} AND (status = \'ERROR\' or status = \'MAX_EXECUTION_TIME_EXCEEDED\')');&#xA;ETL_PRINT( '**     am_failed_count = {$l_am_failed_count}' );&#xA;&#xA;$l_am_warning_count = sql('DW_ABC_DS',' select count(status) from AUDIT_METRIC&#xA;                    where MD_PROCESS_ID = {$p_process_id} AND status = \'WARNING\'');&#xA;ETL_PRINT( '**     am_warning_count = {$l_am_warning_count}' );&#xA;&#xA;$l_am_success_count = sql('DW_ABC_DS',' select count(status) from AUDIT_METRIC&#xA;                    where MD_PROCESS_ID = {$p_process_id} AND status = \'SUCCESS\'');&#xA;ETL_PRINT( '**     am_success_count = {$l_am_success_count}' );&#xA;&#xA;$l_status_info = 'WFs statuses: success: ' || $l_wf_success_count || ', error: '  || $l_wf_failed_count ||' || Audit metrics: success: ' || $l_am_success_count || ', warning: ' || $l_am_warning_count || ', error: ' || $l_am_failed_count || '.';&#xA;&#xA;if ($l_wf_failed_count &gt; 0)&#xA;begin&#xA;&#x9;$l_status = 'ERROR';&#xA;&#x9;$l_reco_action =  'Drill to WF level to access the error message. ';&#xA;end&#x9;&#xA;else if ($l_am_failed_count &gt; 0)&#xA;begin&#xA;&#x9;$l_status = 'ERROR'; &#xA;&#x9;$l_reco_action = $l_reco_action || 'Refer to failed metrics. ';&#xA;end&#xA;else if ($l_am_warning_count &gt; 0)&#xA;begin&#xA;&#x9;$l_status = 'WARNING';&#xA;&#x9;$l_reco_action = $l_reco_action || 'Check WARNING metrics. ';&#xA;end&#xA;&#xA;&#xA;#sql('DW_ABC_DS','update JOB_STREAM_STEP_RT&#xA;#               set STATUS = {$l_status}, STATE = \'FINISHED\' , END_TIME = {sysdate()}, STATUS_INFO = {$l_status_info}, RECO_ACTION = {$l_reco_action}&#xA;#               where MD_PROCESS_ID = {$p_process_id}');&#xA;&#xA;sql('DW_ABC_DS','update JOB_STREAM_STEP_RT&#xA;               set STATUS = {$l_status}, STATE = \'FINISHED\' , END_TIME = convert(varchar(25),convert(datetime,getdate(),111),127), STATUS_INFO = {$l_status_info}, RECO_ACTION = {$l_reco_action}&#xA;               where MD_PROCESS_ID = {$p_process_id}');&#xA;ETL_PRINT( '**' );&#xA;ETL_PRINT( '**' );&#xA;ETL_PRINT( '** The Job {job_name()} is ending' );&#xA;ETL_PRINT( '**   status: {$l_status}' );&#xA;ETL_PRINT( '**   explanation: {$l_status_info})' );&#xA;ETL_PRINT( '********************************' );&#xA;ETL_PRINT( '********************************' );&#xA;&#xA;return NULL;&#xA;"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="Acta_user_func_category" value="User_Script_Function"/>
</DIProperties>
<DIParameters><DIElement paramType="IN" name="$p_process_id" datatype="DECIMAL" precision="19" scale="0" >
</DIElement>
</DIParameters>
<DIVariables><DIElement paramType="LOCAL" name="$l_wf_failed_count" datatype="INT" >
</DIElement>
<DIElement paramType="LOCAL" name="$l_status" datatype="VARCHAR" size="10" >
</DIElement>
<DIElement paramType="LOCAL" name="$l_wf_success_count" datatype="INT" >
</DIElement>
<DIElement paramType="LOCAL" name="$l_status_info" datatype="VARCHAR" size="400" >
</DIElement>
<DIElement paramType="LOCAL" name="$l_am_failed_count" datatype="INT" >
</DIElement>
<DIElement paramType="LOCAL" name="$l_am_warning_count" datatype="INT" >
</DIElement>
<DIElement paramType="LOCAL" name="$l_am_success_count" datatype="INT" >
</DIElement>
<DIElement paramType="LOCAL" name="$l_reco_action" datatype="VARCHAR" size="4000" >
</DIElement>
</DIVariables>
<DIFunctionReturn datatype="INT" />
<DISteps>
<DIAssignmentStep typeId="12" variable="$l_status" >
<DIExpression isString="true" expr="'SUCCESS'" >
<CONSTANT value="SUCCESS" datatype="VARCHAR" size="7" />
</DIExpression>
</DIAssignmentStep>
<DIAssignmentStep typeId="12" variable="$l_wf_failed_count" >
<DIExpression isString="true" expr="sql('DW_ABC_DS', ' select count(status) from JOB_STREAM_STEP_DETAIL_RT&#xA;                    where MD_PROCESS_ID = {$p_process_id} AND (status = \'ERROR\' or status = \'MAX_EXECUTION_TIME_EXCEEDED\')')" >
<FUNCTION_CALL name="sql"  type="DI" >
<CONSTANT value="DW_ABC_DS" datatype="VARCHAR" size="9" />
<CONSTANT value=" select count(status) from JOB_STREAM_STEP_DETAIL_RT&#xA;                    where MD_PROCESS_ID = {$p_process_id} AND (status = 'ERROR' or status = 'MAX_EXECUTION_TIME_EXCEEDED')" datatype="VARCHAR" size="175" />
</FUNCTION_CALL>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('**     wf_failed_count = {$l_wf_failed_count}')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="**     wf_failed_count = {$l_wf_failed_count}" datatype="VARCHAR" size="45" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$l_wf_success_count" >
<DIExpression isString="true" expr="sql('DW_ABC_DS', ' select count(status) from JOB_STREAM_STEP_DETAIL_RT&#xA;                     where MD_PROCESS_ID = {$p_process_id} AND status = \'SUCCESS\'')" >
<FUNCTION_CALL name="sql"  type="DI" >
<CONSTANT value="DW_ABC_DS" datatype="VARCHAR" size="9" />
<CONSTANT value=" select count(status) from JOB_STREAM_STEP_DETAIL_RT&#xA;                     where MD_PROCESS_ID = {$p_process_id} AND status = 'SUCCESS'" datatype="VARCHAR" size="134" />
</FUNCTION_CALL>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('**     wf_success_count = {$l_wf_success_count}')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="**     wf_success_count = {$l_wf_success_count}" datatype="VARCHAR" size="47" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$l_am_failed_count" >
<DIExpression isString="true" expr="sql('DW_ABC_DS', ' select count(status) from AUDIT_METRIC&#xA;                    where MD_PROCESS_ID = {$p_process_id} AND (status = \'ERROR\' or status = \'MAX_EXECUTION_TIME_EXCEEDED\')')" >
<FUNCTION_CALL name="sql"  type="DI" >
<CONSTANT value="DW_ABC_DS" datatype="VARCHAR" size="9" />
<CONSTANT value=" select count(status) from AUDIT_METRIC&#xA;                    where MD_PROCESS_ID = {$p_process_id} AND (status = 'ERROR' or status = 'MAX_EXECUTION_TIME_EXCEEDED')" datatype="VARCHAR" size="162" />
</FUNCTION_CALL>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('**     am_failed_count = {$l_am_failed_count}')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="**     am_failed_count = {$l_am_failed_count}" datatype="VARCHAR" size="45" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$l_am_warning_count" >
<DIExpression isString="true" expr="sql('DW_ABC_DS', ' select count(status) from AUDIT_METRIC&#xA;                    where MD_PROCESS_ID = {$p_process_id} AND status = \'WARNING\'')" >
<FUNCTION_CALL name="sql"  type="DI" >
<CONSTANT value="DW_ABC_DS" datatype="VARCHAR" size="9" />
<CONSTANT value=" select count(status) from AUDIT_METRIC&#xA;                    where MD_PROCESS_ID = {$p_process_id} AND status = 'WARNING'" datatype="VARCHAR" size="120" />
</FUNCTION_CALL>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('**     am_warning_count = {$l_am_warning_count}')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="**     am_warning_count = {$l_am_warning_count}" datatype="VARCHAR" size="47" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$l_am_success_count" >
<DIExpression isString="true" expr="sql('DW_ABC_DS', ' select count(status) from AUDIT_METRIC&#xA;                    where MD_PROCESS_ID = {$p_process_id} AND status = \'SUCCESS\'')" >
<FUNCTION_CALL name="sql"  type="DI" >
<CONSTANT value="DW_ABC_DS" datatype="VARCHAR" size="9" />
<CONSTANT value=" select count(status) from AUDIT_METRIC&#xA;                    where MD_PROCESS_ID = {$p_process_id} AND status = 'SUCCESS'" datatype="VARCHAR" size="120" />
</FUNCTION_CALL>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('**     am_success_count = {$l_am_success_count}')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="**     am_success_count = {$l_am_success_count}" datatype="VARCHAR" size="47" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$l_status_info" >
<DIExpression isString="true" expr="(((((((((('WFs statuses: success: ' || $l_wf_success_count) || ', error: ') || $l_wf_failed_count) || ' || Audit metrics: success: ') || $l_am_success_count) || ', warning: ') || $l_am_warning_count) || ', error: ') || $l_am_failed_count) || '.')" >
<CONCAT>
<CONCAT>
<CONCAT>
<CONCAT>
<CONCAT>
<CONCAT>
<CONCAT>
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="WFs statuses: success: " datatype="VARCHAR" size="23" />
<VARIABLE_REFERENCE name="$l_wf_success_count" />
</CONCAT>
<CONSTANT value=", error: " datatype="VARCHAR" size="9" />
</CONCAT>
<VARIABLE_REFERENCE name="$l_wf_failed_count" />
</CONCAT>
<CONSTANT value=" || Audit metrics: success: " datatype="VARCHAR" size="28" />
</CONCAT>
<VARIABLE_REFERENCE name="$l_am_success_count" />
</CONCAT>
<CONSTANT value=", warning: " datatype="VARCHAR" size="11" />
</CONCAT>
<VARIABLE_REFERENCE name="$l_am_warning_count" />
</CONCAT>
<CONSTANT value=", error: " datatype="VARCHAR" size="9" />
</CONCAT>
<VARIABLE_REFERENCE name="$l_am_failed_count" />
</CONCAT>
<CONSTANT value="." datatype="VARCHAR" size="1" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIIfStep typeId="2" >
<DIExpression isString="true" expr="($l_wf_failed_count &gt; 0)" >
<LOGICAL_OP op="GT">
<VARIABLE_REFERENCE name="$l_wf_failed_count" />
<CONSTANT value="0" datatype="INT" />
</LOGICAL_OP>
</DIExpression>
<DIIf>
<DIAssignmentStep typeId="12" variable="$l_status" >
<DIExpression isString="true" expr="'ERROR'" >
<CONSTANT value="ERROR" datatype="VARCHAR" size="5" />
</DIExpression>
</DIAssignmentStep>
<DIAssignmentStep typeId="12" variable="$l_reco_action" >
<DIExpression isString="true" expr="'Drill to WF level to access the error message. '" >
<CONSTANT value="Drill to WF level to access the error message. " datatype="VARCHAR" size="47" />
</DIExpression>
</DIAssignmentStep>
</DIIf>
<DIElse>
<DIIfStep typeId="2" >
<DIExpression isString="true" expr="($l_am_failed_count &gt; 0)" >
<LOGICAL_OP op="GT">
<VARIABLE_REFERENCE name="$l_am_failed_count" />
<CONSTANT value="0" datatype="INT" />
</LOGICAL_OP>
</DIExpression>
<DIIf>
<DIAssignmentStep typeId="12" variable="$l_status" >
<DIExpression isString="true" expr="'ERROR'" >
<CONSTANT value="ERROR" datatype="VARCHAR" size="5" />
</DIExpression>
</DIAssignmentStep>
<DIAssignmentStep typeId="12" variable="$l_reco_action" >
<DIExpression isString="true" expr="($l_reco_action || 'Refer to failed metrics. ')" >
<CONCAT>
<VARIABLE_REFERENCE name="$l_reco_action" />
<CONSTANT value="Refer to failed metrics. " datatype="VARCHAR" size="25" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
</DIIf>
<DIElse>
<DIIfStep typeId="2" >
<DIExpression isString="true" expr="($l_am_warning_count &gt; 0)" >
<LOGICAL_OP op="GT">
<VARIABLE_REFERENCE name="$l_am_warning_count" />
<CONSTANT value="0" datatype="INT" />
</LOGICAL_OP>
</DIExpression>
<DIIf>
<DIAssignmentStep typeId="12" variable="$l_status" >
<DIExpression isString="true" expr="'WARNING'" >
<CONSTANT value="WARNING" datatype="VARCHAR" size="7" />
</DIExpression>
</DIAssignmentStep>
<DIAssignmentStep typeId="12" variable="$l_reco_action" >
<DIExpression isString="true" expr="($l_reco_action || 'Check WARNING metrics. ')" >
<CONCAT>
<VARIABLE_REFERENCE name="$l_reco_action" />
<CONSTANT value="Check WARNING metrics. " datatype="VARCHAR" size="23" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
</DIIf>
</DIIfStep>
</DIElse>
</DIIfStep>
</DIElse>
</DIIfStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="sql('DW_ABC_DS', 'update JOB_STREAM_STEP_RT&#xA;               set STATUS = {$l_status}, STATE = \'FINISHED\' , END_TIME = convert(varchar(25),convert(datetime,getdate(),111),127), STATUS_INFO = {$l_status_info}, RECO_ACTION = {$l_reco_action}&#xA;               where MD_PROCESS_ID = {$p_process_id}')" >
<FUNCTION_CALL name="sql"  type="DI" >
<CONSTANT value="DW_ABC_DS" datatype="VARCHAR" size="9" />
<CONSTANT value="update JOB_STREAM_STEP_RT&#xA;               set STATUS = {$l_status}, STATE = 'FINISHED' , END_TIME = convert(varchar(25),convert(datetime,getdate(),111),127), STATUS_INFO = {$l_status_info}, RECO_ACTION = {$l_reco_action}&#xA;               where MD_PROCESS_ID = {$p_process_id}" datatype="VARCHAR" size="272" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('**')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="**" datatype="VARCHAR" size="2" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('**')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="**" datatype="VARCHAR" size="2" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('** The Job {job_name()} is ending')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="** The Job {job_name()} is ending" datatype="VARCHAR" size="33" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('**   status: {$l_status}')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="**   status: {$l_status}" datatype="VARCHAR" size="24" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('**   explanation: {$l_status_info})')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="**   explanation: {$l_status_info})" datatype="VARCHAR" size="35" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('********************************')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="********************************" datatype="VARCHAR" size="32" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('********************************')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="********************************" datatype="VARCHAR" size="32" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIReturnStep typeId="30" >
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
</DIReturnStep>
</DISteps>
</DIScriptFunction>
<DIScriptFunction name="ABC_ENDWF_FN" typeId="11" >
<DIUIOptions>
<DIAttribute name="ui_script_text" value="&#xA;# LOOP THROUGH ALL VALUES IN INPUT PARAMETER TARGET_TABLE FIELD&#xA;# UPDATE EACH VALUE (IN DELIMITED STRING) AS SINGLE RECORD WITH ENDDATE&#xA;# CHECK THAT ABC_ENDWF_FN CANNOT BE CALLED BEFORE ABC_STARTWF_FN&#xA;&#xA;$l_previous_status = sql('DW_ABC_DS','select STATUS from JOB_STREAM_STEP_DETAIL_RT&#xA;                                      where MD_PROCESS_ID = {$p_process_id} AND DETAIL_NAME = {$p_detailname} ');&#xA;&#xA;if ($l_previous_status is null)&#xA;#  sql('DW_ABC_DS','insert into JOB_STREAM_STEP_DETAIL_RT &#xA;#                   (MD_PROCESS_ID, DETAIL_NAME, STATUS, END_TIME)  &#xA;#                   VALUES ({$p_process_id}, {$p_detailname}, \'ERROR\', {sysdate()})');&#x9;&#xD;&#xA;  sql('DW_ABC_DS','insert into JOB_STREAM_STEP_DETAIL_RT &#xA;                   (MD_PROCESS_ID, DETAIL_NAME, STATUS, END_TIME)  &#xA;                   VALUES ({$p_process_id}, {$p_detailname}, \'ERROR\', convert(datetime,{sysdate()},111))');&#x9;&#xA;else&#xA;  begin&#xA;    if ($l_previous_status = 'RUNNING')&#xA;      sql('DW_ABC_DS','update JOB_STREAM_STEP_DETAIL_RT&#xA;                       set STATUS = \'SUCCESS\', END_TIME = convert(varchar(25),convert(datetime,getdate(),111),127)&#xA;                       where MD_PROCESS_ID = {$p_process_id} AND DETAIL_NAME = {$p_detailname} ');&#xA;&#x9;else&#xA;      sql('DW_ABC_DS','update JOB_STREAM_STEP_DETAIL_RT&#xA;                       set STATUS = \'ERROR\', END_TIME = convert(varchar(25),convert(datetime,getdate(),111),127)&#xA;                       where MD_PROCESS_ID = {$p_process_id} AND DETAIL_NAME = {$p_detailname} ');&#xA;&#x9;&#xA;  end&#xA;&#xA;ETL_PRINT( '        ** The workflow: [workflow_name()] is ending' );&#xA;ETL_PRINT( '        **   user: ' || system_user_name() );&#xA;ETL_PRINT( '        **   detail name: ' || $p_detailname );&#xA;ETL_PRINT( '        ********************************' );&#xA;ETL_PRINT( '        ********************************' );&#xA;&#xA;return NULL;&#xA;&#xA;&#xA;&#xA;&#xA;  "/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="Acta_user_func_category" value="User_Script_Function"/>
</DIProperties>
<DIParameters><DIElement paramType="IN" name="$p_detailname" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$p_process_id" datatype="DECIMAL" precision="19" scale="0" >
</DIElement>
</DIParameters>
<DIVariables><DIElement paramType="LOCAL" name="$l_previous_status" datatype="VARCHAR" size="12" >
</DIElement>
</DIVariables>
<DIFunctionReturn datatype="INT" />
<DISteps>
<DIAssignmentStep typeId="12" variable="$l_previous_status" >
<DIExpression isString="true" expr="sql('DW_ABC_DS', 'select STATUS from JOB_STREAM_STEP_DETAIL_RT&#xA;                                      where MD_PROCESS_ID = {$p_process_id} AND DETAIL_NAME = {$p_detailname} ')" >
<FUNCTION_CALL name="sql"  type="DI" >
<CONSTANT value="DW_ABC_DS" datatype="VARCHAR" size="9" />
<CONSTANT value="select STATUS from JOB_STREAM_STEP_DETAIL_RT&#xA;                                      where MD_PROCESS_ID = {$p_process_id} AND DETAIL_NAME = {$p_detailname} " datatype="VARCHAR" size="155" />
</FUNCTION_CALL>
</DIExpression>
</DIAssignmentStep>
<DIIfStep typeId="2" >
<DIExpression isString="true" expr="($l_previous_status IS  NULL )" >
<LOGICAL_OP op="IS NULL">
<VARIABLE_REFERENCE name="$l_previous_status" />
</LOGICAL_OP>
</DIExpression>
<DIIf>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="sql('DW_ABC_DS', 'insert into JOB_STREAM_STEP_DETAIL_RT &#xA;                   (MD_PROCESS_ID, DETAIL_NAME, STATUS, END_TIME)  &#xA;                   VALUES ({$p_process_id}, {$p_detailname}, \'ERROR\', convert(datetime,{sysdate()},111))')" >
<FUNCTION_CALL name="sql"  type="DI" >
<CONSTANT value="DW_ABC_DS" datatype="VARCHAR" size="9" />
<CONSTANT value="insert into JOB_STREAM_STEP_DETAIL_RT &#xA;                   (MD_PROCESS_ID, DETAIL_NAME, STATUS, END_TIME)  &#xA;                   VALUES ({$p_process_id}, {$p_detailname}, 'ERROR', convert(datetime,{sysdate()},111))" datatype="VARCHAR" size="211" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIIf>
<DIElse>
<DIIfStep typeId="2" >
<DIExpression isString="true" expr="($l_previous_status = 'RUNNING')" >
<LOGICAL_OP op="EQ">
<VARIABLE_REFERENCE name="$l_previous_status" />
<CONSTANT value="RUNNING" datatype="VARCHAR" size="7" />
</LOGICAL_OP>
</DIExpression>
<DIIf>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="sql('DW_ABC_DS', 'update JOB_STREAM_STEP_DETAIL_RT&#xA;                       set STATUS = \'SUCCESS\', END_TIME = convert(varchar(25),convert(datetime,getdate(),111),127)&#xA;                       where MD_PROCESS_ID = {$p_process_id} AND DETAIL_NAME = {$p_detailname} ')" >
<FUNCTION_CALL name="sql"  type="DI" >
<CONSTANT value="DW_ABC_DS" datatype="VARCHAR" size="9" />
<CONSTANT value="update JOB_STREAM_STEP_DETAIL_RT&#xA;                       set STATUS = 'SUCCESS', END_TIME = convert(varchar(25),convert(datetime,getdate(),111),127)&#xA;                       where MD_PROCESS_ID = {$p_process_id} AND DETAIL_NAME = {$p_detailname} " datatype="VARCHAR" size="243" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIIf>
<DIElse>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="sql('DW_ABC_DS', 'update JOB_STREAM_STEP_DETAIL_RT&#xA;                       set STATUS = \'ERROR\', END_TIME = convert(varchar(25),convert(datetime,getdate(),111),127)&#xA;                       where MD_PROCESS_ID = {$p_process_id} AND DETAIL_NAME = {$p_detailname} ')" >
<FUNCTION_CALL name="sql"  type="DI" >
<CONSTANT value="DW_ABC_DS" datatype="VARCHAR" size="9" />
<CONSTANT value="update JOB_STREAM_STEP_DETAIL_RT&#xA;                       set STATUS = 'ERROR', END_TIME = convert(varchar(25),convert(datetime,getdate(),111),127)&#xA;                       where MD_PROCESS_ID = {$p_process_id} AND DETAIL_NAME = {$p_detailname} " datatype="VARCHAR" size="241" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIElse>
</DIIfStep>
</DIElse>
</DIIfStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('        ** The workflow: [workflow_name()] is ending')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="        ** The workflow: [workflow_name()] is ending" datatype="VARCHAR" size="52" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('        **   user: ' || system_user_name()))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="        **   user: " datatype="VARCHAR" size="19" />
<FUNCTION_CALL name="system_user_name"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('        **   detail name: ' || $p_detailname))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="        **   detail name: " datatype="VARCHAR" size="26" />
<VARIABLE_REFERENCE name="$p_detailname" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('        ********************************')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="        ********************************" datatype="VARCHAR" size="40" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('        ********************************')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="        ********************************" datatype="VARCHAR" size="40" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIReturnStep typeId="30" >
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
</DIReturnStep>
</DISteps>
</DIScriptFunction>
<DIScriptFunction name="ABC_FAILJB_FN" typeId="11" >
<DIUIOptions>
<DIAttribute name="ui_script_text" value="# IN EVENT THE JOB FAILED, UPDATE JOB RECORD WITH FAIL STATUS&#xA;&#xA;&#xA;if ($p_process_id is null)&#xA;  begin&#xA; &#x9; ETL_PRINT( 'ENTERED THE JOB CATCH BEFORE THE PROCESS_ID COULD BE SET (debug mode specific error)' );&#xA; &#x9; ETL_PRINT( 'AN ERROR RAISED BEFORE the execution of the job start script (this exception will not be recorded by ABC infrastructure)' );&#xA;  end&#xA;else&#xA;  begin&#xA;&#x9; $l_status_text = replace_substr( $p_status_info, '\'','\'\'');&#xA; &#x9; sql('DW_ABC_DS','update JOB_STREAM_STEP_RT&#xA;                 set STATE = \'FINISHED\', END_TIME = convert(varchar(25),convert(datetime,getdate(),111),127), STATUS = \'ERROR\', STATUS_INFO = {$l_status_text}&#xA;                 where  MD_PROCESS_ID = {$p_process_id} ');&#xA;&#xA;  end&#xA;&#xA;&#xA;ETL_PRINT( '        ** The Job : [job_name()] FAILED' );&#xA;ETL_PRINT( '        **   user: ' || system_user_name() );&#xA;ETL_PRINT( '        **   status info: ' || $p_status_info );&#xA;ETL_PRINT( '        ********************************' );&#xA;ETL_PRINT( '        ********************************' );&#xA;&#xA;return NULL;&#xA;"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="Acta_user_func_category" value="User_Script_Function"/>
<DIAttribute name="Parallelizable" value="no"/>
<DIAttribute name="isScriptValidationFunction" value="no"/>
</DIProperties>
<DIParameters><DIElement paramType="IN" name="$p_process_id" datatype="DECIMAL" precision="19" scale="0" >
</DIElement>
<DIElement paramType="IN" name="$p_status_info" datatype="VARCHAR" size="400" >
</DIElement>
</DIParameters>
<DIVariables><DIElement paramType="LOCAL" name="$l_status_text" datatype="VARCHAR" size="400" >
</DIElement>
</DIVariables>
<DIFunctionReturn datatype="INT" />
<DISteps>
<DIIfStep typeId="2" >
<DIExpression isString="true" expr="($p_process_id IS  NULL )" >
<LOGICAL_OP op="IS NULL">
<VARIABLE_REFERENCE name="$p_process_id" />
</LOGICAL_OP>
</DIExpression>
<DIIf>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('ENTERED THE JOB CATCH BEFORE THE PROCESS_ID COULD BE SET (debug mode specific error)')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="ENTERED THE JOB CATCH BEFORE THE PROCESS_ID COULD BE SET (debug mode specific error)" datatype="VARCHAR" size="84" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('AN ERROR RAISED BEFORE the execution of the job start script (this exception will not be recorded by ABC infrastructure)')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="AN ERROR RAISED BEFORE the execution of the job start script (this exception will not be recorded by ABC infrastructure)" datatype="VARCHAR" size="120" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIIf>
<DIElse>
<DIAssignmentStep typeId="12" variable="$l_status_text" >
<DIExpression isString="true" expr="replace_substr($p_status_info, '\'', '\'\'')" >
<FUNCTION_CALL name="replace_substr"  type="DI" >
<VARIABLE_REFERENCE name="$p_status_info" />
<CONSTANT value="'" datatype="VARCHAR" size="1" />
<CONSTANT value="''" datatype="VARCHAR" size="2" />
</FUNCTION_CALL>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="sql('DW_ABC_DS', 'update JOB_STREAM_STEP_RT&#xA;                 set STATE = \'FINISHED\', END_TIME = convert(varchar(25),convert(datetime,getdate(),111),127), STATUS = \'ERROR\', STATUS_INFO = {$l_status_text}&#xA;                 where  MD_PROCESS_ID = {$p_process_id} ')" >
<FUNCTION_CALL name="sql"  type="DI" >
<CONSTANT value="DW_ABC_DS" datatype="VARCHAR" size="9" />
<CONSTANT value="update JOB_STREAM_STEP_RT&#xA;                 set STATE = 'FINISHED', END_TIME = convert(varchar(25),convert(datetime,getdate(),111),127), STATUS = 'ERROR', STATUS_INFO = {$l_status_text}&#xA;                 where  MD_PROCESS_ID = {$p_process_id} " datatype="VARCHAR" size="241" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIElse>
</DIIfStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('        ** The Job : [job_name()] FAILED')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="        ** The Job : [job_name()] FAILED" datatype="VARCHAR" size="40" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('        **   user: ' || system_user_name()))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="        **   user: " datatype="VARCHAR" size="19" />
<FUNCTION_CALL name="system_user_name"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('        **   status info: ' || $p_status_info))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="        **   status info: " datatype="VARCHAR" size="26" />
<VARIABLE_REFERENCE name="$p_status_info" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('        ********************************')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="        ********************************" datatype="VARCHAR" size="40" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('        ********************************')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="        ********************************" datatype="VARCHAR" size="40" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIReturnStep typeId="30" >
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
</DIReturnStep>
</DISteps>
</DIScriptFunction>
<DIScriptFunction name="ABC_FAILWF_FN" typeId="11" >
<DIUIOptions>
<DIAttribute name="ui_script_text" value="# IN EVENT THE WORKFLOW FAILED, UPDATE WORKFLOW RECORD WITH FAIL STATUS&#xA;&#xA;$l_status_text = replace_substr( $p_status_info, '\'','\'\'');&#xA;&#xA;sql('DW_ABC_DS','update JOB_STREAM_STEP_DETAIL_RT&#xA;                 set STATUS = \'ERROR\', STATUS_INFO = {$l_status_text}, END_TIME = convert(varchar(25),convert(datetime,getdate(),111),127)&#xA;                 where  MD_PROCESS_ID = {$p_process_id} AND DETAIL_NAME = {$p_detailname} ');&#xA;&#xA;ETL_PRINT( '        ** The workflow: [workflow_name()] FAILED' );&#xA;ETL_PRINT( '        **   user: ' || system_user_name() );&#xA;ETL_PRINT( '        **   status info: ' || $p_status_info );&#xA;ETL_PRINT( '        **   detail name: ' || $p_detailname );&#xA;ETL_PRINT( '        ********************************' );&#xA;ETL_PRINT( '        ********************************' );&#xA;&#xA;return NULL;&#xA;"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="Acta_user_func_category" value="User_Script_Function"/>
</DIProperties>
<DIParameters><DIElement paramType="IN" name="$p_detailname" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$p_process_id" datatype="DECIMAL" precision="19" scale="0" >
</DIElement>
<DIElement paramType="IN" name="$p_status_info" datatype="VARCHAR" size="400" >
</DIElement>
</DIParameters>
<DIVariables><DIElement paramType="LOCAL" name="$l_status_text" datatype="VARCHAR" size="400" >
</DIElement>
</DIVariables>
<DIFunctionReturn datatype="INT" />
<DISteps>
<DIAssignmentStep typeId="12" variable="$l_status_text" >
<DIExpression isString="true" expr="replace_substr($p_status_info, '\'', '\'\'')" >
<FUNCTION_CALL name="replace_substr"  type="DI" >
<VARIABLE_REFERENCE name="$p_status_info" />
<CONSTANT value="'" datatype="VARCHAR" size="1" />
<CONSTANT value="''" datatype="VARCHAR" size="2" />
</FUNCTION_CALL>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="sql('DW_ABC_DS', 'update JOB_STREAM_STEP_DETAIL_RT&#xA;                 set STATUS = \'ERROR\', STATUS_INFO = {$l_status_text}, END_TIME = convert(varchar(25),convert(datetime,getdate(),111),127)&#xA;                 where  MD_PROCESS_ID = {$p_process_id} AND DETAIL_NAME = {$p_detailname} ')" >
<FUNCTION_CALL name="sql"  type="DI" >
<CONSTANT value="DW_ABC_DS" datatype="VARCHAR" size="9" />
<CONSTANT value="update JOB_STREAM_STEP_DETAIL_RT&#xA;                 set STATUS = 'ERROR', STATUS_INFO = {$l_status_text}, END_TIME = convert(varchar(25),convert(datetime,getdate(),111),127)&#xA;                 where  MD_PROCESS_ID = {$p_process_id} AND DETAIL_NAME = {$p_detailname} " datatype="VARCHAR" size="262" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('        ** The workflow: [workflow_name()] FAILED')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="        ** The workflow: [workflow_name()] FAILED" datatype="VARCHAR" size="49" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('        **   user: ' || system_user_name()))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="        **   user: " datatype="VARCHAR" size="19" />
<FUNCTION_CALL name="system_user_name"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('        **   status info: ' || $p_status_info))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="        **   status info: " datatype="VARCHAR" size="26" />
<VARIABLE_REFERENCE name="$p_status_info" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('        **   detail name: ' || $p_detailname))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="        **   detail name: " datatype="VARCHAR" size="26" />
<VARIABLE_REFERENCE name="$p_detailname" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('        ********************************')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="        ********************************" datatype="VARCHAR" size="40" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('        ********************************')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="        ********************************" datatype="VARCHAR" size="40" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIReturnStep typeId="30" >
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
</DIReturnStep>
</DISteps>
</DIScriptFunction>
<DIScriptFunction name="ABC_STARTJB_FN" typeId="11" >
<DIUIOptions>
<DIAttribute name="ui_script_text" value="#$l_job_start_date = sysdate( );&#xD;&#xA;$l_job_start_date = sql('DW_ABC_DS','select getdate()');&#xD;&#xA;$l_job_start_date_vchar = sql('DW_ABC_DS','select convert(varchar(25),convert(datetime,{$l_job_start_date},111),127)');&#xD;&#xA;ETL_PRINT('l_job_start_date_vchar = '|| $l_job_start_date_vchar);&#xD;&#xA;#sql('DW_ABC_DS','select convert(datetime,GETDATE()-5,111)');&#xD;&#xA;#;&#xA;# the job may have been called from the DW scheduler as part of a job stream&#xA;# or it may be launched manually &#xA;# if the job is called as part of a job stream&#xA;#   then its row in DW_ABC_DS.STEP_RUNTIME identified by $G_STEP_RT_ID  has already &#xA;#   been created with a WAITING status&#xA;# else&#xA;#   the job has been launched out of a stream context, it will create its own entry &#xA;#   flagged as MANUAL in DW_ABC_DS.STEP_RUNTIME&#xA;       &#xA;if ($p_debug_mode is null or not $p_debug_mode = 1)&#xA;  begin&#xA;    if ($p_process_id is null)&#xA;      begin&#xA;&#x9;    ETL_PRINT( 'ERROR: $G_PROCESS_ID is not set. If you want to run manually the job, you must set $G_DEBUG_MODE=1' );&#xA;        raise_exception('$G_PROCESS_ID is not set. If you want to run manually the job, you must set $G_DEBUG_MODE=1');&#xA;      end&#xA;    # retrieve the batch id from the STEP_RUNTIME table&#xA;    $p_batch_id = sql('DW_ABC_DS',&#xA;      'SELECT MD_BATCH_ID FROM JOB_STREAM_STEP_RT where MD_PROCESS_ID = {$p_process_id}');&#xA;    if ($p_batch_id is null)&#xA;      begin&#xA;&#x9;    ETL_PRINT( 'ERROR: Process ' || $p_process_id || ' not found in STEP_RUNTIME table.' );&#xA;        raise_exception('process '||$p_process_id||' is not found in STEP_RUNTIME table.');&#xA;      end&#xA;  end&#xA;else&#xA;  begin&#xA;    if ($p_process_id is not null)&#xA;      begin&#xA;&#x9;    ETL_PRINT( 'ERROR: abC usage error detected : $G_DEBUG_MODE is set to ' || $p_debug_mode || ' but $G_PROCESS_ID is not null (set to '||$p_process_id||'). In debug mode Process ID will be allocated by the job and cannot be specified');&#xA;        raise_exception('ERROR: abC usage error detected : $G_DEBUG_MODE is set to ' || $p_debug_mode || ' but $G_PROCESS_ID is not null (set to '||$p_process_id||'). in debug mode Process ID will be allocated by the system and cannot be specified');&#xA;      end&#xA;    # create the job level row in DW_ABC_DS.STEP_RUNTIME note that only a basic row without start dates is created &#xA;  &#x9;# this will be done in code shared for scheduled and manual rows&#xA;&#xD;&#xA;#    sql('DW_ABC_DS','insert into JOB_STREAM_STEP_RT (JOB_NAME, START_TIME, STEP_OWNER, STATE) &#xA;#                     VALUES ({job_name()},{$l_job_start_date}, \'MANUAL\', \'STARTING\')');&#xA;&#xD;&#xA;    sql('DW_ABC_DS','insert into JOB_STREAM_STEP_RT (JOB_NAME, START_TIME, STEP_OWNER, STATE) &#xA;                     VALUES ({job_name()},{$l_job_start_date_vchar}, \'MANUAL\', \'STARTING\')');&#xA;  &#x9;# retrieve the row ID affected by the DB, this ID will be used for any future reference to the STEP_RUNTIME table&#xA;# &#x9;$p_process_id = sql('DW_ABC_DS','SELECT MD_PROCESS_ID from JOB_STREAM_STEP_RT where JOB_NAME = {job_name()} AND START_TIME = {$l_job_start_date} AND STEP_OWNER = \'MANUAL\' AND STATE =  \'STARTING\' ');&#xA;#&#x9;ETL_PRINT( 'After manual launch, the assigned Process ID is: ' || $p_process_id );&#xA;&#xD;&#xA; &#x9;$p_process_id = sql('DW_ABC_DS','SELECT MD_PROCESS_ID from JOB_STREAM_STEP_RT where JOB_NAME = {job_name()} AND START_TIME = {$l_job_start_date_vchar} AND STEP_OWNER = \'MANUAL\' AND STATE =  \'STARTING\' ');&#xA;&#x9;ETL_PRINT( 'After manual launch, the assigned Process ID is: ' || $p_process_id );&#xA;&#x9;# No new batch is created in debug mode, but set 0 to batch-id variable to have a not null value&#xA;&#x9;$p_batch_id = 0;&#xA;  end&#xA;&#xA;&#xA;ETL_PRINT ( 'Process ' || $p_process_id || ' retrieved $p_batch_id = {$p_batch_id}' );&#xA;$l_state = sql('DW_ABC_DS',&#xA;      'SELECT STATE FROM JOB_STREAM_STEP_RT where MD_PROCESS_ID = {$p_process_id}');&#xA;$l_job_name = sql('DW_ABC_DS',&#xA;      'SELECT JOB_NAME FROM JOB_STREAM_STEP_RT where MD_PROCESS_ID = {$p_process_id}');&#xA;&#xA;if ($l_state != 'STARTING' )&#xA;begin&#xA;    sql('DW_ABC_DS','update JOB_STREAM_STEP_RT set STATUS_INFO = \'Tried to run job, but it is not in a runnable state.\' &#xA;         where MD_PROCESS_ID = {$p_process_id}');&#xA;    raise_exception('ERROR: This job is not in a runnable state. This may come from Web Service timeout, the job will not execute and a new one will be trigered by ABC (if not already done)');&#xA;end&#xA;&#xA;if ($l_job_name != job_name() )&#xA;begin&#xA;   # sql('DW_ABC_DS','update JOB_STREAM_STEP_RT set STATUS_INFO = \'This job, {job_name()}, does not match the JOB_NAME of the step you are trying to run ($l_job_name).\' &#xA;   #      where MD_PROCESS_ID = {$p_process_id}');&#xA;    raise_exception('ERROR: This job, {job_name()}, does not match the JOB_NAME of the step you are trying to run (' || $l_job_name || ').');&#xA;end&#xA;&#xA;# now flag the job as running&#xD;&#xA;#sql('DW_ABC_DS','update JOB_STREAM_STEP_RT set STATE = \'RUNNING\',&#xA;#JOB_NAME = {job_name()}, START_TIME = convert(datetime,{$l_job_start_date},111)&#xA;#where MD_PROCESS_ID = {$p_process_id}');&#xA;sql('DW_ABC_DS','update JOB_STREAM_STEP_RT set STATE = \'RUNNING\',&#xA;JOB_NAME = {job_name()}, START_TIME = {$l_job_start_date_vchar}&#xA;where MD_PROCESS_ID = {$p_process_id}');&#xA;&#xA;set_env( 'ETL_DEBUG_MODE', $p_debug_mode );&#xA;set_env( 'ETL_BATCH_ID', $p_batch_id);&#xA;set_env( 'ETL_PROCESS_ID', $p_process_id );&#xA;if ( is_set_env( 'ETL_TRACE_LEVEL' ) != 1 )&#xA;begin&#xA;&#x9;set_env( 'ETL_TRACE_LEVEL', 'ALL' );&#xA;end&#xA;&#xA;ETL_PRINT( '********************************' );&#xA;ETL_PRINT( '********************************' );&#xA;ETL_PRINT( '** The Job {job_name()} is starting' || ifthenelse((get_env('ETL_DEBUG_MODE') = '1'), ' in Debug mode', '') || '.');&#xA;ETL_PRINT( '**' );&#xA;ETL_PRINT( '**' );&#xA;&#xA;return (5);&#xA;"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="Acta_user_func_category" value="User_Script_Function"/>
</DIProperties>
<DIParameters><DIElement paramType="IN_OUT" name="$p_process_id" datatype="DECIMAL" precision="19" scale="0" >
</DIElement>
<DIElement paramType="IN" name="$p_debug_mode" datatype="INT" >
</DIElement>
<DIElement paramType="OUT" name="$p_batch_id" datatype="DECIMAL" precision="19" scale="0" >
</DIElement>
</DIParameters>
<DIVariables><DIElement paramType="LOCAL" name="$l_previous_process_id" datatype="DECIMAL" precision="19" scale="0" >
</DIElement>
<DIElement paramType="LOCAL" name="$l_sqltext" datatype="VARCHAR" size="80" >
</DIElement>
<DIElement paramType="LOCAL" name="$l_job_start_date" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$l_state" datatype="VARCHAR" size="30" >
</DIElement>
<DIElement paramType="LOCAL" name="$l_job_name" datatype="VARCHAR" size="60" >
</DIElement>
<DIElement paramType="LOCAL" name="$l_job_start_date_vchar" datatype="VARCHAR" size="25" >
</DIElement>
</DIVariables>
<DIFunctionReturn datatype="DATETIME" />
<DISteps>
<DIAssignmentStep typeId="12" variable="$l_job_start_date" >
<DIExpression isString="true" expr="sql('DW_ABC_DS', 'select getdate()')" >
<FUNCTION_CALL name="sql"  type="DI" >
<CONSTANT value="DW_ABC_DS" datatype="VARCHAR" size="9" />
<CONSTANT value="select getdate()" datatype="VARCHAR" size="16" />
</FUNCTION_CALL>
</DIExpression>
</DIAssignmentStep>
<DIAssignmentStep typeId="12" variable="$l_job_start_date_vchar" >
<DIExpression isString="true" expr="sql('DW_ABC_DS', 'select convert(varchar(25),convert(datetime,{$l_job_start_date},111),127)')" >
<FUNCTION_CALL name="sql"  type="DI" >
<CONSTANT value="DW_ABC_DS" datatype="VARCHAR" size="9" />
<CONSTANT value="select convert(varchar(25),convert(datetime,{$l_job_start_date},111),127)" datatype="VARCHAR" size="73" />
</FUNCTION_CALL>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('l_job_start_date_vchar = ' || $l_job_start_date_vchar))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="l_job_start_date_vchar = " datatype="VARCHAR" size="25" />
<VARIABLE_REFERENCE name="$l_job_start_date_vchar" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIIfStep typeId="2" >
<DIExpression isString="true" expr="(($p_debug_mode IS  NULL ) OR&#xA;   ( not ($p_debug_mode = 1)))" >
<LOGICAL_OP op="OR">
<LOGICAL_OP op="IS NULL">
<VARIABLE_REFERENCE name="$p_debug_mode" />
</LOGICAL_OP>
<LOGICAL_OP op="NOT">
<LOGICAL_OP op="EQ">
<VARIABLE_REFERENCE name="$p_debug_mode" />
<CONSTANT value="1" datatype="INT" />
</LOGICAL_OP>
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
<DIIf>
<DIIfStep typeId="2" >
<DIExpression isString="true" expr="($p_process_id IS  NULL )" >
<LOGICAL_OP op="IS NULL">
<VARIABLE_REFERENCE name="$p_process_id" />
</LOGICAL_OP>
</DIExpression>
<DIIf>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('ERROR: $G_PROCESS_ID is not set. If you want to run manually the job, you must set $G_DEBUG_MODE=1')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="ERROR: $G_PROCESS_ID is not set. If you want to run manually the job, you must set $G_DEBUG_MODE=1" datatype="VARCHAR" size="98" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="raise_exception('$G_PROCESS_ID is not set. If you want to run manually the job, you must set $G_DEBUG_MODE=1')" >
<FUNCTION_CALL name="raise_exception"  type="DI" >
<CONSTANT value="$G_PROCESS_ID is not set. If you want to run manually the job, you must set $G_DEBUG_MODE=1" datatype="VARCHAR" size="91" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIIf>
</DIIfStep>
<DIAssignmentStep typeId="12" variable="$p_batch_id" >
<DIExpression isString="true" expr="sql('DW_ABC_DS', 'SELECT MD_BATCH_ID FROM JOB_STREAM_STEP_RT where MD_PROCESS_ID = {$p_process_id}')" >
<FUNCTION_CALL name="sql"  type="DI" >
<CONSTANT value="DW_ABC_DS" datatype="VARCHAR" size="9" />
<CONSTANT value="SELECT MD_BATCH_ID FROM JOB_STREAM_STEP_RT where MD_PROCESS_ID = {$p_process_id}" datatype="VARCHAR" size="80" />
</FUNCTION_CALL>
</DIExpression>
</DIAssignmentStep>
<DIIfStep typeId="2" >
<DIExpression isString="true" expr="($p_batch_id IS  NULL )" >
<LOGICAL_OP op="IS NULL">
<VARIABLE_REFERENCE name="$p_batch_id" />
</LOGICAL_OP>
</DIExpression>
<DIIf>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('ERROR: Process ' || $p_process_id) || ' not found in STEP_RUNTIME table.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="ERROR: Process " datatype="VARCHAR" size="15" />
<VARIABLE_REFERENCE name="$p_process_id" />
</CONCAT>
<CONSTANT value=" not found in STEP_RUNTIME table." datatype="VARCHAR" size="33" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="raise_exception((('process ' || $p_process_id) || ' is not found in STEP_RUNTIME table.'))" >
<FUNCTION_CALL name="raise_exception"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="process " datatype="VARCHAR" size="8" />
<VARIABLE_REFERENCE name="$p_process_id" />
</CONCAT>
<CONSTANT value=" is not found in STEP_RUNTIME table." datatype="VARCHAR" size="36" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIIf>
</DIIfStep>
</DIIf>
<DIElse>
<DIIfStep typeId="2" >
<DIExpression isString="true" expr="($p_process_id IS NOT  NULL )" >
<LOGICAL_OP op="IS NOT NULL">
<VARIABLE_REFERENCE name="$p_process_id" />
</LOGICAL_OP>
</DIExpression>
<DIIf>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((((('ERROR: abC usage error detected : $G_DEBUG_MODE is set to ' || $p_debug_mode) || ' but $G_PROCESS_ID is not null (set to ') || $p_process_id) || '). In debug mode Process ID will be allocated by the job and cannot be specified'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="ERROR: abC usage error detected : $G_DEBUG_MODE is set to " datatype="VARCHAR" size="58" />
<VARIABLE_REFERENCE name="$p_debug_mode" />
</CONCAT>
<CONSTANT value=" but $G_PROCESS_ID is not null (set to " datatype="VARCHAR" size="39" />
</CONCAT>
<VARIABLE_REFERENCE name="$p_process_id" />
</CONCAT>
<CONSTANT value="). In debug mode Process ID will be allocated by the job and cannot be specified" datatype="VARCHAR" size="80" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="raise_exception((((('ERROR: abC usage error detected : $G_DEBUG_MODE is set to ' || $p_debug_mode) || ' but $G_PROCESS_ID is not null (set to ') || $p_process_id) || '). in debug mode Process ID will be allocated by the system and cannot be specified'))" >
<FUNCTION_CALL name="raise_exception"  type="DI" >
<CONCAT>
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="ERROR: abC usage error detected : $G_DEBUG_MODE is set to " datatype="VARCHAR" size="58" />
<VARIABLE_REFERENCE name="$p_debug_mode" />
</CONCAT>
<CONSTANT value=" but $G_PROCESS_ID is not null (set to " datatype="VARCHAR" size="39" />
</CONCAT>
<VARIABLE_REFERENCE name="$p_process_id" />
</CONCAT>
<CONSTANT value="). in debug mode Process ID will be allocated by the system and cannot be specified" datatype="VARCHAR" size="83" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIIf>
</DIIfStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="sql('DW_ABC_DS', 'insert into JOB_STREAM_STEP_RT (JOB_NAME, START_TIME, STEP_OWNER, STATE) &#xA;                     VALUES ({job_name()},{$l_job_start_date_vchar}, \'MANUAL\', \'STARTING\')')" >
<FUNCTION_CALL name="sql"  type="DI" >
<CONSTANT value="DW_ABC_DS" datatype="VARCHAR" size="9" />
<CONSTANT value="insert into JOB_STREAM_STEP_RT (JOB_NAME, START_TIME, STEP_OWNER, STATE) &#xA;                     VALUES ({job_name()},{$l_job_start_date_vchar}, 'MANUAL', 'STARTING')" datatype="VARCHAR" size="164" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$p_process_id" >
<DIExpression isString="true" expr="sql('DW_ABC_DS', 'SELECT MD_PROCESS_ID from JOB_STREAM_STEP_RT where JOB_NAME = {job_name()} AND START_TIME = {$l_job_start_date_vchar} AND STEP_OWNER = \'MANUAL\' AND STATE =  \'STARTING\' ')" >
<FUNCTION_CALL name="sql"  type="DI" >
<CONSTANT value="DW_ABC_DS" datatype="VARCHAR" size="9" />
<CONSTANT value="SELECT MD_PROCESS_ID from JOB_STREAM_STEP_RT where JOB_NAME = {job_name()} AND START_TIME = {$l_job_start_date_vchar} AND STEP_OWNER = 'MANUAL' AND STATE =  'STARTING' " datatype="VARCHAR" size="168" />
</FUNCTION_CALL>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('After manual launch, the assigned Process ID is: ' || $p_process_id))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="After manual launch, the assigned Process ID is: " datatype="VARCHAR" size="49" />
<VARIABLE_REFERENCE name="$p_process_id" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$p_batch_id" >
<DIExpression isString="true" expr="0" >
<CONSTANT value="0" datatype="INT" />
</DIExpression>
</DIAssignmentStep>
</DIElse>
</DIIfStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('Process ' || $p_process_id) || ' retrieved $p_batch_id = {$p_batch_id}'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="Process " datatype="VARCHAR" size="8" />
<VARIABLE_REFERENCE name="$p_process_id" />
</CONCAT>
<CONSTANT value=" retrieved $p_batch_id = {$p_batch_id}" datatype="VARCHAR" size="38" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$l_state" >
<DIExpression isString="true" expr="sql('DW_ABC_DS', 'SELECT STATE FROM JOB_STREAM_STEP_RT where MD_PROCESS_ID = {$p_process_id}')" >
<FUNCTION_CALL name="sql"  type="DI" >
<CONSTANT value="DW_ABC_DS" datatype="VARCHAR" size="9" />
<CONSTANT value="SELECT STATE FROM JOB_STREAM_STEP_RT where MD_PROCESS_ID = {$p_process_id}" datatype="VARCHAR" size="74" />
</FUNCTION_CALL>
</DIExpression>
</DIAssignmentStep>
<DIAssignmentStep typeId="12" variable="$l_job_name" >
<DIExpression isString="true" expr="sql('DW_ABC_DS', 'SELECT JOB_NAME FROM JOB_STREAM_STEP_RT where MD_PROCESS_ID = {$p_process_id}')" >
<FUNCTION_CALL name="sql"  type="DI" >
<CONSTANT value="DW_ABC_DS" datatype="VARCHAR" size="9" />
<CONSTANT value="SELECT JOB_NAME FROM JOB_STREAM_STEP_RT where MD_PROCESS_ID = {$p_process_id}" datatype="VARCHAR" size="77" />
</FUNCTION_CALL>
</DIExpression>
</DIAssignmentStep>
<DIIfStep typeId="2" >
<DIExpression isString="true" expr="($l_state != 'STARTING')" >
<LOGICAL_OP op="NE">
<VARIABLE_REFERENCE name="$l_state" />
<CONSTANT value="STARTING" datatype="VARCHAR" size="8" />
</LOGICAL_OP>
</DIExpression>
<DIIf>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="sql('DW_ABC_DS', 'update JOB_STREAM_STEP_RT set STATUS_INFO = \'Tried to run job, but it is not in a runnable state.\' &#xA;         where MD_PROCESS_ID = {$p_process_id}')" >
<FUNCTION_CALL name="sql"  type="DI" >
<CONSTANT value="DW_ABC_DS" datatype="VARCHAR" size="9" />
<CONSTANT value="update JOB_STREAM_STEP_RT set STATUS_INFO = 'Tried to run job, but it is not in a runnable state.' &#xA;         where MD_PROCESS_ID = {$p_process_id}" datatype="VARCHAR" size="146" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="raise_exception('ERROR: This job is not in a runnable state. This may come from Web Service timeout, the job will not execute and a new one will be trigered by ABC (if not already done)')" >
<FUNCTION_CALL name="raise_exception"  type="DI" >
<CONSTANT value="ERROR: This job is not in a runnable state. This may come from Web Service timeout, the job will not execute and a new one will be trigered by ABC (if not already done)" datatype="VARCHAR" size="168" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIIf>
</DIIfStep>
<DIIfStep typeId="2" >
<DIExpression isString="true" expr="($l_job_name != job_name())" >
<LOGICAL_OP op="NE">
<VARIABLE_REFERENCE name="$l_job_name" />
<FUNCTION_CALL name="job_name"  type="DI" />
</LOGICAL_OP>
</DIExpression>
<DIIf>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="raise_exception((('ERROR: This job, {job_name()}, does not match the JOB_NAME of the step you are trying to run (' || $l_job_name) || ').'))" >
<FUNCTION_CALL name="raise_exception"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="ERROR: This job, {job_name()}, does not match the JOB_NAME of the step you are trying to run (" datatype="VARCHAR" size="94" />
<VARIABLE_REFERENCE name="$l_job_name" />
</CONCAT>
<CONSTANT value=")." datatype="VARCHAR" size="2" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIIf>
</DIIfStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="sql('DW_ABC_DS', 'update JOB_STREAM_STEP_RT set STATE = \'RUNNING\',&#xA;JOB_NAME = {job_name()}, START_TIME = {$l_job_start_date_vchar}&#xA;where MD_PROCESS_ID = {$p_process_id}')" >
<FUNCTION_CALL name="sql"  type="DI" >
<CONSTANT value="DW_ABC_DS" datatype="VARCHAR" size="9" />
<CONSTANT value="update JOB_STREAM_STEP_RT set STATE = 'RUNNING',&#xA;JOB_NAME = {job_name()}, START_TIME = {$l_job_start_date_vchar}&#xA;where MD_PROCESS_ID = {$p_process_id}" datatype="VARCHAR" size="150" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="set_env('ETL_DEBUG_MODE', $p_debug_mode)" >
<FUNCTION_CALL name="set_env"  type="DI" >
<CONSTANT value="ETL_DEBUG_MODE" datatype="VARCHAR" size="14" />
<VARIABLE_REFERENCE name="$p_debug_mode" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="set_env('ETL_BATCH_ID', $p_batch_id)" >
<FUNCTION_CALL name="set_env"  type="DI" >
<CONSTANT value="ETL_BATCH_ID" datatype="VARCHAR" size="12" />
<VARIABLE_REFERENCE name="$p_batch_id" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="set_env('ETL_PROCESS_ID', $p_process_id)" >
<FUNCTION_CALL name="set_env"  type="DI" >
<CONSTANT value="ETL_PROCESS_ID" datatype="VARCHAR" size="14" />
<VARIABLE_REFERENCE name="$p_process_id" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIIfStep typeId="2" >
<DIExpression isString="true" expr="(is_set_env('ETL_TRACE_LEVEL') != 1)" >
<LOGICAL_OP op="NE">
<FUNCTION_CALL name="is_set_env"  type="DI" >
<CONSTANT value="ETL_TRACE_LEVEL" datatype="VARCHAR" size="15" />
</FUNCTION_CALL>
<CONSTANT value="1" datatype="INT" />
</LOGICAL_OP>
</DIExpression>
<DIIf>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="set_env('ETL_TRACE_LEVEL', 'ALL')" >
<FUNCTION_CALL name="set_env"  type="DI" >
<CONSTANT value="ETL_TRACE_LEVEL" datatype="VARCHAR" size="15" />
<CONSTANT value="ALL" datatype="VARCHAR" size="3" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIIf>
</DIIfStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('********************************')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="********************************" datatype="VARCHAR" size="32" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('********************************')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="********************************" datatype="VARCHAR" size="32" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('** The Job {job_name()} is starting' || ifthenelse((get_env('ETL_DEBUG_MODE') = '1'), ' in Debug mode', '')) || '.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="** The Job {job_name()} is starting" datatype="VARCHAR" size="35" />
<FUNCTION_CALL name="ifthenelse"  type="DI" >
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="get_env"  type="DI" >
<CONSTANT value="ETL_DEBUG_MODE" datatype="VARCHAR" size="14" />
</FUNCTION_CALL>
<CONSTANT value="1" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<CONSTANT value=" in Debug mode" datatype="VARCHAR" size="14" />
<CONSTANT value="" datatype="VARCHAR" size="0" />
</FUNCTION_CALL>
</CONCAT>
<CONSTANT value="." datatype="VARCHAR" size="1" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('**')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="**" datatype="VARCHAR" size="2" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('**')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="**" datatype="VARCHAR" size="2" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIReturnStep typeId="30" >
<DIExpression isString="true" expr="5" >
<CONSTANT value="5" datatype="INT" />
</DIExpression>
</DIReturnStep>
</DISteps>
</DIScriptFunction>
<DIScriptFunction name="ABC_STARTWF_FN" typeId="11" >
<DIUIOptions>
<DIAttribute name="ui_script_text" value="ETL_PRINT( '        ********************************' );&#xA;ETL_PRINT( '        ********************************' );&#xA;ETL_PRINT( '        ** The workflow [workflow_name()] is starting' );&#xA;ETL_PRINT( '        **   user: ' || system_user_name() );&#xA;ETL_PRINT( '        **   detail name: ' || $p_detailname );&#xA;&#xA;# DELETE EXISTING WORKFLOW RECORD&#xA;#sql('DW_ABC_DS','delete from RDS_DBA.WFEXECUTION_DW&#xA;#where APPNAME = {$p_appname} AND JOBNAME = {job_name()} AND WFNAME = {workflow_name()}&#xA;#AND TARGET_TABLE = {$l_single_tablename}');&#xA;&#xA;# GET MAX_ID FROM THE WFEXECUTION_DW TABLE&#xA;#$job_ maxkey = sql('DW_ABC_DS', 'SELECT MAX(JOB_ID) FROM RDS_DBA.ETLSYNC_DW');&#xA;#$maxkey = $maxkey + 1;&#xA;&#xA;# INSERT WORKFLOW RECORD&#x9;&#x9;&#xD;&#xA;&#xA;#$l_stepdetail_id = sql('DW_ABC_DS','insert into JOB_STREAM_STEP_DETAIL_RT &#xA;#                (MD_PROCESS_ID, DETAIL_NAME, STATUS, START_TIME)  &#xA;#                VALUES ({$p_process_id}, {$p_detailname}, \'RUNNING\', {sysdate()});&#xA;#&#x9;&#x9;&#x9;&#x9;SELECT SCOPE_IDENTITY() AS NewStepDetailID');&#xA;$l_stepdetail_id = sql('DW_ABC_DS','insert into JOB_STREAM_STEP_DETAIL_RT &#xA;                (MD_PROCESS_ID, DETAIL_NAME, STATUS, START_TIME)  &#xA;                VALUES ({$p_process_id}, {$p_detailname}, \'RUNNING\', convert(varchar(25),convert(datetime,getdate(),111),127));&#xA;&#x9;&#x9;&#x9;&#x9;SELECT SCOPE_IDENTITY() AS NewStepDetailID');&#x9;&#xA;&#xA;set_env(workflow_name(), $l_stepdetail_id);&#xA;&#xA;# print('single_tablename = ' || $l_single_tablename);&#x9;   &#x9;&#xA;&#xA;return null;&#xA;"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="Acta_user_func_category" value="User_Script_Function"/>
</DIProperties>
<DIParameters><DIElement paramType="IN" name="$p_detailname" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$p_process_id" datatype="DECIMAL" precision="19" scale="0" >
</DIElement>
</DIParameters>
<DIVariables><DIElement paramType="LOCAL" name="$l_stepdetail_id" datatype="DECIMAL" precision="19" scale="0" >
</DIElement>
</DIVariables>
<DIFunctionReturn datatype="INT" />
<DISteps>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('        ********************************')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="        ********************************" datatype="VARCHAR" size="40" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('        ********************************')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="        ********************************" datatype="VARCHAR" size="40" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('        ** The workflow [workflow_name()] is starting')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="        ** The workflow [workflow_name()] is starting" datatype="VARCHAR" size="53" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('        **   user: ' || system_user_name()))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="        **   user: " datatype="VARCHAR" size="19" />
<FUNCTION_CALL name="system_user_name"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('        **   detail name: ' || $p_detailname))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="        **   detail name: " datatype="VARCHAR" size="26" />
<VARIABLE_REFERENCE name="$p_detailname" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$l_stepdetail_id" >
<DIExpression isString="true" expr="sql('DW_ABC_DS', 'insert into JOB_STREAM_STEP_DETAIL_RT &#xA;                (MD_PROCESS_ID, DETAIL_NAME, STATUS, START_TIME)  &#xA;                VALUES ({$p_process_id}, {$p_detailname}, \'RUNNING\', convert(varchar(25),convert(datetime,getdate(),111),127));&#xA;&#x9;&#x9;&#x9;&#x9;SELECT SCOPE_IDENTITY() AS NewStepDetailID')" >
<FUNCTION_CALL name="sql"  type="DI" >
<CONSTANT value="DW_ABC_DS" datatype="VARCHAR" size="9" />
<CONSTANT value="insert into JOB_STREAM_STEP_DETAIL_RT &#xA;                (MD_PROCESS_ID, DETAIL_NAME, STATUS, START_TIME)  &#xA;                VALUES ({$p_process_id}, {$p_detailname}, 'RUNNING', convert(varchar(25),convert(datetime,getdate(),111),127));&#xA;&#x9;&#x9;&#x9;&#x9;SELECT SCOPE_IDENTITY() AS NewStepDetailID" datatype="VARCHAR" size="280" />
</FUNCTION_CALL>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="set_env(workflow_name(), $l_stepdetail_id)" >
<FUNCTION_CALL name="set_env"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$l_stepdetail_id" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIReturnStep typeId="30" >
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
</DIReturnStep>
</DISteps>
</DIScriptFunction>
<DIScriptFunction name="ETL_PRINT" typeId="11" >
<DIUIOptions>
<DIAttribute name="ui_script_text" value="# 1/2 Retrieve contextual information from the environment&#xA;if ( is_set_env( 'ETL_BATCH_ID' ) = 1 )&#xA;begin&#xA;&#x9;$l_batch_id = get_env( 'ETL_BATCH_ID' );&#xA;end&#xA;else&#xA;begin&#xA;&#x9;$l_batch_id = '-';&#xA;end&#xA;&#xA;if ( is_set_env( 'ETL_PROCESS_ID' ) = 1 )&#xA;begin&#xA;&#x9;$l_process_id = get_env( 'ETL_PROCESS_ID' );&#x9;&#xA;end&#xA;else&#xA;begin&#xA;&#x9;$l_process_id = '-';&#x9;&#xA;end&#xA;&#xA;# 2/2 Really print&#xA;if ( get_env('ETL_TRACE_LEVEL') = 'ALL' )&#xA;begin&#xA;&#x9;if ( is_set_env( workflow_name() ) = 1 )&#xA;&#x9;begin&#xA;&#x9;&#x9;$l_stepdetail_id = get_env( workflow_name() );&#xA;&#x9;&#x9;print( '\[Batch:' || $l_batch_id || '\] \[Proc:' || $l_process_id || '\] \[Detail:' || $l_stepdetail_id || '\] ' || $p_MESSAGE );&#xA;&#x9;end&#xA;&#x9;else&#xA;&#x9;begin&#xA;    &#x9;print( '\[Batch:' || $l_batch_id || '\] \[Proc:' || $l_process_id || '\] ' || $p_MESSAGE );&#xA;&#x9;end&#xA;end&#xA;&#xA;return null;&#xA;"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="Acta_user_func_category" value="User_Script_Function"/>
<DIAttribute name="Description" value="This function is internal and should NOT be used by application developers.&#xA;&#xA;This function prints the parameter message to the logs with contextual information (batch id, process id) as set by the ABC_STARTJB_FN function.&#xA;&#xA;This trace file is currently the standard Data Services trace file. for instance: C:\Program Files\Business Objects\BusinessObjects Data Services\log\tracelog.txt"/>
<DIAttribute name="Parallelizable" value="no"/>
<DIAttribute name="isScriptValidationFunction" value="no"/>
</DIProperties>
<DIParameters><DIElement paramType="IN" name="$p_MESSAGE" datatype="VARCHAR" size="256" >
</DIElement>
</DIParameters>
<DIVariables><DIElement paramType="LOCAL" name="$l_batch_id" datatype="INT" >
</DIElement>
<DIElement paramType="LOCAL" name="$l_process_id" datatype="INT" >
</DIElement>
<DIElement paramType="LOCAL" name="$l_stepdetail_id" datatype="DECIMAL" precision="19" scale="0" >
</DIElement>
</DIVariables>
<DIFunctionReturn datatype="INT" />
<DISteps>
<DIIfStep typeId="2" >
<DIExpression isString="true" expr="(is_set_env('ETL_BATCH_ID') = 1)" >
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="is_set_env"  type="DI" >
<CONSTANT value="ETL_BATCH_ID" datatype="VARCHAR" size="12" />
</FUNCTION_CALL>
<CONSTANT value="1" datatype="INT" />
</LOGICAL_OP>
</DIExpression>
<DIIf>
<DIAssignmentStep typeId="12" variable="$l_batch_id" >
<DIExpression isString="true" expr="get_env('ETL_BATCH_ID')" >
<FUNCTION_CALL name="get_env"  type="DI" >
<CONSTANT value="ETL_BATCH_ID" datatype="VARCHAR" size="12" />
</FUNCTION_CALL>
</DIExpression>
</DIAssignmentStep>
</DIIf>
<DIElse>
<DIAssignmentStep typeId="12" variable="$l_batch_id" >
<DIExpression isString="true" expr="'-'" >
<CONSTANT value="-" datatype="VARCHAR" size="1" />
</DIExpression>
</DIAssignmentStep>
</DIElse>
</DIIfStep>
<DIIfStep typeId="2" >
<DIExpression isString="true" expr="(is_set_env('ETL_PROCESS_ID') = 1)" >
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="is_set_env"  type="DI" >
<CONSTANT value="ETL_PROCESS_ID" datatype="VARCHAR" size="14" />
</FUNCTION_CALL>
<CONSTANT value="1" datatype="INT" />
</LOGICAL_OP>
</DIExpression>
<DIIf>
<DIAssignmentStep typeId="12" variable="$l_process_id" >
<DIExpression isString="true" expr="get_env('ETL_PROCESS_ID')" >
<FUNCTION_CALL name="get_env"  type="DI" >
<CONSTANT value="ETL_PROCESS_ID" datatype="VARCHAR" size="14" />
</FUNCTION_CALL>
</DIExpression>
</DIAssignmentStep>
</DIIf>
<DIElse>
<DIAssignmentStep typeId="12" variable="$l_process_id" >
<DIExpression isString="true" expr="'-'" >
<CONSTANT value="-" datatype="VARCHAR" size="1" />
</DIExpression>
</DIAssignmentStep>
</DIElse>
</DIIfStep>
<DIIfStep typeId="2" >
<DIExpression isString="true" expr="(get_env('ETL_TRACE_LEVEL') = 'ALL')" >
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="get_env"  type="DI" >
<CONSTANT value="ETL_TRACE_LEVEL" datatype="VARCHAR" size="15" />
</FUNCTION_CALL>
<CONSTANT value="ALL" datatype="VARCHAR" size="3" />
</LOGICAL_OP>
</DIExpression>
<DIIf>
<DIIfStep typeId="2" >
<DIExpression isString="true" expr="(is_set_env(workflow_name()) = 1)" >
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="is_set_env"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
</FUNCTION_CALL>
<CONSTANT value="1" datatype="INT" />
</LOGICAL_OP>
</DIExpression>
<DIIf>
<DIAssignmentStep typeId="12" variable="$l_stepdetail_id" >
<DIExpression isString="true" expr="get_env(workflow_name())" >
<FUNCTION_CALL name="get_env"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
</FUNCTION_CALL>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="print(((((((('\\[Batch:' || $l_batch_id) || '\\] \\[Proc:') || $l_process_id) || '\\] \\[Detail:') || $l_stepdetail_id) || '\\] ') || $p_MESSAGE))" >
<FUNCTION_CALL name="print"  type="DI" >
<CONCAT>
<CONCAT>
<CONCAT>
<CONCAT>
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="\[Batch:" datatype="VARCHAR" size="8" />
<VARIABLE_REFERENCE name="$l_batch_id" />
</CONCAT>
<CONSTANT value="\] \[Proc:" datatype="VARCHAR" size="10" />
</CONCAT>
<VARIABLE_REFERENCE name="$l_process_id" />
</CONCAT>
<CONSTANT value="\] \[Detail:" datatype="VARCHAR" size="12" />
</CONCAT>
<VARIABLE_REFERENCE name="$l_stepdetail_id" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<VARIABLE_REFERENCE name="$p_MESSAGE" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIIf>
<DIElse>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="print(((((('\\[Batch:' || $l_batch_id) || '\\] \\[Proc:') || $l_process_id) || '\\] ') || $p_MESSAGE))" >
<FUNCTION_CALL name="print"  type="DI" >
<CONCAT>
<CONCAT>
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="\[Batch:" datatype="VARCHAR" size="8" />
<VARIABLE_REFERENCE name="$l_batch_id" />
</CONCAT>
<CONSTANT value="\] \[Proc:" datatype="VARCHAR" size="10" />
</CONCAT>
<VARIABLE_REFERENCE name="$l_process_id" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<VARIABLE_REFERENCE name="$p_MESSAGE" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIElse>
</DIIfStep>
</DIIf>
<DIElse>
</DIElse>
</DIIfStep>
<DIReturnStep typeId="30" >
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
</DIReturnStep>
</DISteps>
</DIScriptFunction>
<DIJob name="ALT_SOURCE_EXTRACT_JB" typeId="2" >
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_SOURCE_EXTRACT_JB (version 0.13.0-SNAPSHOT)"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 23 Jan 2009 10:50:13"/>
<DIAttribute name="Description" value="The BO DS job AM_SOURCE_EXTRACT_JB is responsible for extracting data from a source  system.   Data is extracted based on a specific date criteria and then written to delimited flat files on the BO job server.  The use a date criteria is to enable the processing of delta data only.  Data that has been modified after the date being used will be written to the target files.  The data will remain un-cleansed and not validated.  &#xA;Flat file targets are used to decouple the source system database from the target database.  By decoupling the two databases there will be no process that has a database connection to the source system open while also having a connection open on the target system.  This will ensure that any issues or performance problems on the target system will not affect the source system.&#xA;The files will also be used for the following:&#xA;Source files for the EXT load ETL job&#xA;Recovery files for disaster recovery&#xA;The BO DS job will be composed of a set of workflows that contain dataflows.  There will be one workflow per dataflow.  There will also be one target table per dataflow.  The extraction process workflows are independent from each other.  Because of this the workflows can be executed in parallel.&#xA;The BO DS job will require the use of global variables.  These variables will be used in every workflow in the job.  These global variables will be set at the start of the job.  Because the workflows will be executed in parallel the global variables must be set at a level higher than the workflows there will be a container workflow that holds all other workflows."/>
<DIAttribute name="Web_Service_Enabled" value="YES"/>
</DIProperties>
<DIVariables>
<DIElement paramType="GLOBAL" name="$G_DEBUG_MODE" datatype="INT" >
</DIElement>
<DIElement paramType="GLOBAL" name="$G_TRACE_MODE" datatype="INT" >
</DIElement>
<DIElement paramType="GLOBAL" name="$G_BATCH_ID" datatype="DECIMAL" precision="19" scale="0" >
</DIElement>
<DIElement paramType="GLOBAL" name="$G_PROCESS_ID" datatype="DECIMAL" precision="19" scale="0" >
</DIElement>
<DIElement paramType="GLOBAL" name="$G_ALT_FILELOCATION" datatype="VARCHAR" size="200" >
</DIElement>
<DIElement paramType="GLOBAL" name="$G_EXTN_FILELOCATION" datatype="VARCHAR" size="200" >
</DIElement>
<DIElement paramType="GLOBAL" name="$G_CONTENT_PACK_ID" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ui_display_name" value="ALTSRC_SOURCE_EXTRACT_JB_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="STARTJB_SC is used to set global variables and initiates the metadata tracking for the Job"/>
<DIAttribute name="ui_display_name" value="STARTJB_SC"/>
<DIAttribute name="ui_script_text" value="#Get the target directory for the files.&#xD;&#xA;&#xD;&#xA;$G_ALT_FILELOCATION = lookup_ext([DW_METADATA_DS.DW_METADATA_ALIAS.FILE_LOCATION_INFO, 'PRE_LOAD_CACHE', 'MAX'], [ FILE_LOCATION ], [ NULL ], [ SOURCE, '=', 'ALT' ]) &#xD;&#xA;SET(&quot;run_as_separate_process&quot; = 'no');&#xD;&#xA;&#xD;&#xA;$G_EXTN_FILELOCATION = lookup_ext([DW_METADATA_DS.DW_METADATA_ALIAS.FILE_LOCATION_INFO, 'PRE_LOAD_CACHE', 'MAX'], [ FILE_LOCATION ], [ NULL ], [ SOURCE, '=', 'EXTERNAL' ]) &#xD;&#xA;SET(&quot;run_as_separate_process&quot; = 'no');&#xD;&#xA;&#xD;&#xA;ABC_STARTJB_FN($G_PROCESS_ID, $G_DEBUG_MODE, $G_BATCH_ID);&#xD;&#xA;&#xD;&#xA;$G_CONTENT_PACK_ID = sql('DW_METADATA_DS','SELECT CP_ID FROM CONTENT_PACK WHERE NAME = \'ALT\'');&#xD;&#xA;&#xD;&#xA;ETL_PRINT('****************************************************************************************************************');&#xD;&#xA;ETL_PRINT(' ');&#xD;&#xA;ETL_PRINT('The Flat File will be located in the '||$G_ALT_FILELOCATION||' directory.' );&#xD;&#xA;ETL_PRINT(' ');&#xD;&#xA;ETL_PRINT('****************************************************************************************************************');&#xD;&#xA;&#xD;&#xA;"/>
</DIUIOptions>
<DIAssignmentStep typeId="12" variable="$G_ALT_FILELOCATION" >
<DIExpression isString="true" expr="lookup_ext([DW_METADATA_DS.DW_METADATA_ALIAS.FILE_LOCATION_INFO, 'PRE_LOAD_CACHE', 'MAX'], [ FILE_LOCATION ], [  NULL  ], [ SOURCE, '=', 'ALT' ]) &#xA;SET(&quot;run_as_separate_process&quot; = 'no')&#xA;" >
<FUNCTION_CALL name="lookup_ext"  type="DI" tableDatastore="DW_METADATA_DS" tableOwner="DW_METADATA_ALIAS" tableName="FILE_LOCATION_INFO" >
<CONSTANT value="PRE_LOAD_CACHE" datatype="VARCHAR" size="14" />
<CONSTANT value="MAX" datatype="VARCHAR" size="3" />
<CONSTANT value="ALT" datatype="VARCHAR" size="3" />
<CONSTANT_NULL /><DIAttributes>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</FUNCTION_CALL>
</DIExpression>
</DIAssignmentStep>
<DIAssignmentStep typeId="12" variable="$G_EXTN_FILELOCATION" >
<DIExpression isString="true" expr="lookup_ext([DW_METADATA_DS.DW_METADATA_ALIAS.FILE_LOCATION_INFO, 'PRE_LOAD_CACHE', 'MAX'], [ FILE_LOCATION ], [  NULL  ], [ SOURCE, '=', 'EXTERNAL' ]) &#xA;SET(&quot;run_as_separate_process&quot; = 'no')&#xA;" >
<FUNCTION_CALL name="lookup_ext"  type="DI" tableDatastore="DW_METADATA_DS" tableOwner="DW_METADATA_ALIAS" tableName="FILE_LOCATION_INFO" >
<CONSTANT value="PRE_LOAD_CACHE" datatype="VARCHAR" size="14" />
<CONSTANT value="MAX" datatype="VARCHAR" size="3" />
<CONSTANT value="EXTERNAL" datatype="VARCHAR" size="8" />
<CONSTANT_NULL /><DIAttributes>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</FUNCTION_CALL>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startjb_fn($G_PROCESS_ID, $G_DEBUG_MODE, $G_BATCH_ID)" >
<FUNCTION_CALL name="abc_startjb_fn"  type="DI" >
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<VARIABLE_REFERENCE name="$G_DEBUG_MODE" />
<VARIABLE_REFERENCE name="$G_BATCH_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$G_CONTENT_PACK_ID" >
<DIExpression isString="true" expr="sql('DW_METADATA_DS', 'SELECT CP_ID FROM CONTENT_PACK WHERE NAME = \'ALT\'')" >
<FUNCTION_CALL name="sql"  type="DI" >
<CONSTANT value="DW_METADATA_DS" datatype="VARCHAR" size="14" />
<CONSTANT value="SELECT CP_ID FROM CONTENT_PACK WHERE NAME = 'ALT'" datatype="VARCHAR" size="49" />
</FUNCTION_CALL>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('****************************************************************************************************************')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="****************************************************************************************************************" datatype="VARCHAR" size="112" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(' ')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value=" " datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The Flat File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The Flat File will be located in the " datatype="VARCHAR" size="37" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(' ')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value=" " datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print('****************************************************************************************************************')" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONSTANT value="****************************************************************************************************************" datatype="VARCHAR" size="112" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_SOURCE_EXTRACT_CONTAINER_WF" >
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="ENDJB_SC concludes the metadata for the Job and Adds final Entries into the ABC Tracking system"/>
<DIAttribute name="ui_display_name" value="ENDJB_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDJB_FN($G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endjb_fn($G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endjb_fn"  type="DI" >
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ui_display_name" value="ALTSRC_SOURCE_EXTRACT_JB_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="AM_SOURCE_EXTRACT_JB_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILJB_FN($G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failjb_fn($G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failjb_fn"  type="DI" >
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="job_checkpoint_enabled" value="no"/>
<DIAttribute name="job_collect_statistics" value="no"/>
<DIAttribute name="job_collect_statistics_monitor" value="no"/>
<DIAttribute name="job_enable_assemblers" value="yes"/>
<DIAttribute name="job_enable_audit" value="yes"/>
<DIAttribute name="job_enable_dataquality" value="yes"/>
<DIAttribute name="job_export_repo" value="no"/>
<DIAttribute name="job_export_reports" value="no"/>
<DIAttribute name="job_isrecoverable" value="no"/>
<DIAttribute name="job_mode" value="Multi-Process"/>
<DIAttribute name="job_monitor_sample_rate" value="1000"/>
<DIAttribute name="job_name" value="ALT_SOURCE_EXTRACT_JB"/>
<DIAttribute name="job_print_version" value="no"/>
<DIAttribute name="job_testmode_enabled" value="no"/>
<DIAttribute name="job_trace_abapquery" value="no"/>
<DIAttribute name="job_trace_all" value="no"/>
<DIAttribute name="job_trace_ascomm" value="no"/>
<DIAttribute name="job_trace_assemblers" value="no"/>
<DIAttribute name="job_trace_audit" value="no"/>
<DIAttribute name="job_trace_dataflow" value="yes"/>
<DIAttribute name="job_trace_idoc_file" value="no"/>
<DIAttribute name="job_trace_memory_loader" value="no"/>
<DIAttribute name="job_trace_memory_reader" value="no"/>
<DIAttribute name="job_trace_optimized_dataflow" value="no"/>
<DIAttribute name="job_trace_parallel_execution" value="no"/>
<DIAttribute name="job_trace_rfc_function" value="no"/>
<DIAttribute name="job_trace_row" value="no"/>
<DIAttribute name="job_trace_script" value="no"/>
<DIAttribute name="job_trace_session" value="yes"/>
<DIAttribute name="job_trace_sql_only" value="no"/>
<DIAttribute name="job_trace_sqlfunctions" value="no"/>
<DIAttribute name="job_trace_sqlloaders" value="no"/>
<DIAttribute name="job_trace_sqlreaders" value="no"/>
<DIAttribute name="job_trace_sqltransforms" value="no"/>
<DIAttribute name="job_trace_stored_procedure" value="no"/>
<DIAttribute name="job_trace_table" value="no"/>
<DIAttribute name="job_trace_table_reader" value="no"/>
<DIAttribute name="job_trace_transform" value="no"/>
<DIAttribute name="job_trace_userfunction" value="no"/>
<DIAttribute name="job_trace_usertransform" value="no"/>
<DIAttribute name="job_trace_workflow" value="yes"/>
<DIAttribute name="job_type" value="batch"/>
<DIAttribute name="job_use_statistics" value="yes"/>
<DIAttribute name="locale_codepage" value="&lt;default&gt;"/>
<DIAttribute name="locale_language" value="&lt;default&gt;"/>
<DIAttribute name="locale_territory" value="&lt;default&gt;"/>
</DIAttributes>
</DIJob>
<DIWorkflow name="ALT_SOURCE_EXTRACT_CONTAINER_WF" typeId="2" >
<DIProperties>
<DIAttribute name="Description" value="This Workflow was created in order to house several workflows that will extract data into files from the source system"/>
</DIProperties>
<DISteps>
<DIParallelStep typeId="11" >
<DISteps>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_SOURCE_EXTRACT_GEN_CONT_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_SOURCE_EXTRACT_CUSTOM_CONT_WF" >
</DICallStep>
</DISteps>
</DIParallelStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIWorkflow name="ALT_SOURCE_EXTRACT_GEN_CONT_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This workflow is a container for the entities concerned by the Extraction ETL Step for the ALTSRC"/>
</DIAnnotation></DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="ENTITY_LEVEL_FOR_PRODUCT_CONTAINER_WF (version 0.13.0-SNAPSHOT)"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 23 Jan 2009 10:49:48"/>
<DIAttribute name="Description" value="This workflow is a container for the entities concerned by the Extraction ETL Step for the ALTSRC. It integrates the following entities:&#xD;&#xA;  - ACTUALCOST (version 1)&#xD;&#xA;  - APPLICATION (version 1)&#xD;&#xA;  - ASSET (version 1)&#xD;&#xA;  - CFGITEM (version 1)&#xD;&#xA;  - CONTRACT (version 1)&#xD;&#xA;  - COSTCENTER (version 1)&#xD;&#xA;  - EMPLOYMENT (version 1)&#xD;&#xA;  - EXCHANGE (version 1)&#xD;&#xA;  - INTERACTION (version 1)&#xD;&#xA;  - LOCATION (version 1)&#xD;&#xA;  - MODEL (version 1)&#xD;&#xA;  - ORG (version 1)&#xD;&#xA;  - PERSON (version 1)&#xD;&#xA;  - PLANNEDCOST (version 1)&#xD;&#xA;  - PROJECT (version 1)&#xD;&#xA;  - PROJECTTASK (version 1)&#xD;&#xA;  - REVENUE (version 1)&#xD;&#xA;  - SERVICE (version 1)&#xD;&#xA;  - SERVICESTATUS (version 1)&#xD;&#xA;  - SLA (version 1)&#xD;&#xA;  - SLAOUTAGE (version 1)&#xD;&#xA;  - SLASTATUS (version 1)&#xD;&#xA;  - SURVEY (version 1)&#xD;&#xA;  - SURVEYSCORE (version 1)&#xD;&#xA;  - TIME_TO_MARKET (version 1)&#xD;&#xA;"/>
</DIProperties>
<DISteps>
<DIParallelStep typeId="11" >
<DISteps>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ACTUALCOST_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ACTUALCOST_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALT_BUSINESS_APPLICATION_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALT_BUSINESS_APPLICATION_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTASSET_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTASSET_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTCFGITEM_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTCFGITEM_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_CONTRACT_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_CONTRACT_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_COSTCENTER_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_COSTCENTER_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_EXCHANGE_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_INTERACTION_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_INTERACTION_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTLOCATION_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTLOCATION_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_MODEL_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_MODEL_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTORG_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTORG_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTPERSON_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTPERSON_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_PROJECT_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_PROJECT_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_PROJECTTASK_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_PROJECTTASK_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_REVENUE_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_REVENUE_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_CHANGE_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_CHANGE_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_INCIDENT_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_INCIDENT_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTSERVICE_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTSERVICE_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTSLA_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTSLA_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_SLAOUTAGE_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_SLAOUTAGE_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_SLASTATUS_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_SLASTATUS_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTSURVEY_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTSURVEY_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_FF_WF" >
</DICallStep>
<DICallStep typeId="0"  calledObjectType="Workflow" name="ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_DELETE_FF_WF" >
</DICallStep>
</DISteps>
</DIParallelStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIWorkflow name="ALT_ACTUALCOST_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ACTUALCOST data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 23 Feb 2011 16:50:27"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ACTUALCOST data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_ACTUALCOST_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table ACTUALCOST and writing it to the target ACTUALCOST_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_ACTUALCOST_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_ACTUALCOST_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_ACTUALCOST_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_ACTUALCOST_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_ACTUALCOST_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ACTUALCOST_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ACTUALCOST_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;#CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_ACTUALCOST' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;#$L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;#$L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_ACTUALCOST_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_ACTUALCOST_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ACTUALCOST_" datatype="VARCHAR" size="15" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ACTUALCOST_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ACTUALCOST_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ACTUALCOST_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ACTUALCOST_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ACTUALCOST_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ACTUALCOST_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 23 Feb 2011 16:50:27"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_ACTUALCOST_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_RANGE"/>
<DIAttribute name="ui_where_text" value="nvl(ALT_ACTUALCOST_XLS.DELETE_FLAG, 'N') &lt;&gt; 'Y' and ALT_ACTUALCOST_XLS.MD_BUSINESS_KEY&lt;&gt;'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_RANGE" >
<DIElement name="ACTUALCOST_DESCRIPTION" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.ACTUALCOST_DESCRIPTION&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="APPLICATION_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.APPLICATION_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="APPLICATION_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="BUDGET_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.BUDGET_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="BUDGET_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="BUDGETLINE_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.BUDGETLINE_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="BUDGETLINE_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="BUSSERVICE_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.BUSSERVICE_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="BUSSERVICE_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="ASSET_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.ASSET_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="ASSET_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="CONTRACT_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.CONTRACT_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="CONTRACT_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="COST_BASE" datatype="DOUBLE" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="COST_LOC" datatype="DOUBLE" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.COST_LOC&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="COSTCAT_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="COSTCATEGORY_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.COSTCATEGORY_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="COSTCENTER_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.COSTCENTER_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="COSTCENTER_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="CURRENCY_BASE" datatype="VARCHAR" size="3" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="CURRENCY_LOC" datatype="VARCHAR" size="3" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.CURRENCY"/>
</DIAttributes>
</DIElement>
<DIElement name="CUSTOMER_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.CUSTOMER_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="CUSTOMER_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="DATE_INCURRED_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.&quot;DATE&quot;"/>
</DIAttributes>
</DIElement>
<DIElement name="DATE_INCURRED_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="DNFLAG_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.DISC_NONDISC"/>
</DIAttributes>
</DIElement>
<DIElement name="DNFLAG_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="EXCH_BASE_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="EXCH_LOC_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="EXCHANGE_BASE_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="EXCHANGE_LOC_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="EXPENSE_STATUS" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.EXPENSE_STATUS"/>
</DIAttributes>
</DIElement>
<DIElement name="FLAG_CLOSED" datatype="VARCHAR" size="1" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.FLAG_CLOSED&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="ITFUNCTION_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.ITFUNCTION_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="ITFUNCTION_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="LOCATION_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.LOCATION_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="LOCATION_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="OCFLAG_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.OPEX_CAPEX"/>
</DIAttributes>
</DIElement>
<DIElement name="OCFLAG_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="ORG_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.ORG_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="ORG_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PERIOD_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PERSON_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.PERSON_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="PERSON_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PROGRAM_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.PROGRAM_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="PROGRAM_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PROJECT_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.PROJECT_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="PROJECT_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="QUANTITY" datatype="DOUBLE" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.QUANTITY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SCENARIO_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.SCENARIO_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="SCENARIO_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SUPPLIER_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.SUPPLIER_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="SUPPLIER_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.ACTUALCOST_DESCRIPTION" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="ACTUALCOST_DESCRIPTION" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.APPLICATION_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="APPLICATION_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.BUDGET_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="BUDGET_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.BUDGETLINE_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="BUDGETLINE_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.BUSSERVICE_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="BUSSERVICE_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.ASSET_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="ASSET_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.CONTRACT_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="CONTRACT_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.COST_LOC" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="COST_LOC" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.COSTCATEGORY_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="COSTCATEGORY_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.COSTCENTER_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="COSTCENTER_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.CURRENCY" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="CURRENCY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.CUSTOMER_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="CUSTOMER_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.&quot;DATE&quot;" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="DATE" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.DISC_NONDISC" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="DISC_NONDISC" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.EXPENSE_STATUS" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="EXPENSE_STATUS" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.FLAG_CLOSED" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="FLAG_CLOSED" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.ITFUNCTION_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="ITFUNCTION_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.LOCATION_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="LOCATION_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.OPEX_CAPEX" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="OPEX_CAPEX" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.ORG_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="ORG_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.PERSON_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="PERSON_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.PROGRAM_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="PROGRAM_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.PROJECT_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="PROJECT_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.QUANTITY" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="QUANTITY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.SCENARIO_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="SCENARIO_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.SUPPLIER_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="SUPPLIER_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_ACTUALCOST_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_ACTUALCOST_XLS.DELETE_FLAG, 'N') != 'Y') AND&#xA;   (ALT_ACTUALCOST_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_ACTUALCOST" filename="$P_Dynamic_File_Name" >
<DIUIOptions>
<DIAttribute name="ui_display_name" value="&quot;$P_Dynamic_File_Name&quot;(ALT_ACTUALCOST)"/>
</DIUIOptions>
<DIInputView name="QRY_SRC_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_ACTUALCOST"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_ACTUALCOST_XLS" name="ALT_ACTUALCOST_XLS" >
<DIOutputView name="ALT_ACTUALCOST_XLS"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ACTUALCOST_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ACTUALCOST data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 23 Feb 2011 16:50:27"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ACTUALCOST EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ACTUALCOST_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ACTUALCOST_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_ACTUALCOST_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_ACTUALCOST_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ACTUALCOST_" datatype="VARCHAR" size="15" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ACTUALCOST_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ACTUALCOST_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ACTUALCOST_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ACTUALCOST_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ACTUALCOST_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ACTUALCOST_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 23 Feb 2011 16:50:27"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_ACTUALCOST_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="nvl(ALT_ACTUALCOST_XLS.DELETE_FLAG, 'N') = 'Y' and ALT_ACTUALCOST_XLS.MD_BUSINESS_KEY&lt;&gt;'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ACTUALCOST_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_ACTUALCOST_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_ACTUALCOST_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_ACTUALCOST_XLS.DELETE_FLAG, 'N') = 'Y') AND&#xA;   (ALT_ACTUALCOST_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_ACTUALCOST_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_ACTUALCOST_XLS" name="ALT_ACTUALCOST_XLS" >
<DIOutputView name="ALT_ACTUALCOST_XLS"  />
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALT_BUSINESS_APPLICATION_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 11 Mar 2011 16:40:33"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the SLAOUTAGE data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_SLAOUTAGE_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table SLAOUTAGE and writing it to the target SLAOUTAGE_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_SLAOUTAGE_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_SLAOUTAGE_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_SLAOUTAGE_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_SLAOUTAGE_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_SLAOUTAGE_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALT_BUSINESS_APPLICATION_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALT_BUSINESS_APPLICATION_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;#CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_SLAOUTAGE' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;#$L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;#$L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_ALT_BUSINESS_APPLICATION_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_ALT_BUSINESS_APPLICATION_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALT_BUSINESS_APPLICATION_" datatype="VARCHAR" size="29" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALT_BUSINESS_APPLICATION_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALT_BUSINESS_APPLICATION_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_SLAOUTAGE_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALT_BUSINESS_APPLICATION_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALT_BUSINESS_APPLICATION_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALT_BUSINESS_APPLICATION_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 11 Mar 2011 16:40:33"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_APPLICATION"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="( nvl(ALT_APPLICATION.DELETE_FLAG, 'N') &lt;&gt; 'Y' and ALT_APPLICATION.MD_BUSINESS_KEY &lt;&gt; 'DUMMY ROW - DO NOT REMOVE')"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="1024" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_APPLICATION.MD_BUSINESS_KEY"/>
</DIAttributes>
</DIElement>
<DIElement name="MONITORED_BY" datatype="VARCHAR" size="255" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_APPLICATION.MONITORED_BY"/>
</DIAttributes>
</DIElement>
<DIElement name="DESCRIPTION" datatype="VARCHAR" size="1024" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_APPLICATION.DESCRIPTION"/>
</DIAttributes>
</DIElement>
<DIElement name="DISPLAY_LABEL" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_APPLICATION.DISPLAY_LABEL"/>
</DIAttributes>
</DIElement>
<DIElement name="APPLICATION_NAME" datatype="VARCHAR" size="1024" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_APPLICATION.APPLICATION_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="DATE_CREATED" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_APPLICATION.DATE_CREATED"/>
</DIAttributes>
</DIElement>
<DIElement name="DATE_MODIFIED" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_APPLICATION.DATE_MODIFIED"/>
</DIAttributes>
</DIElement>
<DIElement name="BUSINESS_CRITICALITY" datatype="INT" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_APPLICATION.BUSINESS_CRITICALITY"/>
</DIAttributes>
</DIElement>
<DIElement name="CI_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_APPLICATION.CI_BUSINESS_KEY"/>
</DIAttributes>
</DIElement>
<DIElement name="APPLICATION_TAGS" datatype="VARCHAR" size="255" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_APPLICATION.APPLICATION_TAGS"/>
</DIAttributes>
</DIElement>
<DIElement name="TIMEZONE" datatype="VARCHAR" size="255" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_APPLICATION.TIMEZONE"/>
</DIAttributes>
</DIElement>
<DIElement name="APPLICATION_NAME_ALT" datatype="VARCHAR" size="1024" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_APPLICATION.APPLICATION_NAME_ALT"/>
</DIAttributes>
</DIElement>
<DIElement name="DELETE_FLAG" datatype="VARCHAR" size="1" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_APPLICATION.DELETE_FLAG"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_APPLICATION.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_APPLICATION" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_APPLICATION.MONITORED_BY" >
<COLUMN_REFERENCE  qualifier1="ALT_APPLICATION" column="MONITORED_BY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_APPLICATION.DESCRIPTION" >
<COLUMN_REFERENCE  qualifier1="ALT_APPLICATION" column="DESCRIPTION" />
</DIExpression>
<DIExpression isString="true" expr="ALT_APPLICATION.DISPLAY_LABEL" >
<COLUMN_REFERENCE  qualifier1="ALT_APPLICATION" column="DISPLAY_LABEL" />
</DIExpression>
<DIExpression isString="true" expr="ALT_APPLICATION.APPLICATION_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_APPLICATION" column="APPLICATION_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_APPLICATION.DATE_CREATED" >
<COLUMN_REFERENCE  qualifier1="ALT_APPLICATION" column="DATE_CREATED" />
</DIExpression>
<DIExpression isString="true" expr="ALT_APPLICATION.DATE_MODIFIED" >
<COLUMN_REFERENCE  qualifier1="ALT_APPLICATION" column="DATE_MODIFIED" />
</DIExpression>
<DIExpression isString="true" expr="ALT_APPLICATION.BUSINESS_CRITICALITY" >
<COLUMN_REFERENCE  qualifier1="ALT_APPLICATION" column="BUSINESS_CRITICALITY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_APPLICATION.CI_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_APPLICATION" column="CI_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_APPLICATION.APPLICATION_TAGS" >
<COLUMN_REFERENCE  qualifier1="ALT_APPLICATION" column="APPLICATION_TAGS" />
</DIExpression>
<DIExpression isString="true" expr="ALT_APPLICATION.TIMEZONE" >
<COLUMN_REFERENCE  qualifier1="ALT_APPLICATION" column="TIMEZONE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_APPLICATION.APPLICATION_NAME_ALT" >
<COLUMN_REFERENCE  qualifier1="ALT_APPLICATION" column="APPLICATION_NAME_ALT" />
</DIExpression>
<DIExpression isString="true" expr="ALT_APPLICATION.DELETE_FLAG" >
<COLUMN_REFERENCE  qualifier1="ALT_APPLICATION" column="DELETE_FLAG" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_APPLICATION" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_APPLICATION.DELETE_FLAG, 'N') != 'Y') AND&#xA;   (ALT_APPLICATION.MD_BUSINESS_KEY != 'DUMMY ROW - DO NOT REMOVE'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_APPLICATION" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_APPLICATION" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY ROW - DO NOT REMOVE" datatype="VARCHAR" size="25" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_ALT_BUSINESS_APPLICATION" filename="$P_Dynamic_File_Name" >
<DIUIOptions>
<DIAttribute name="ui_display_name" value="&quot;$P_Dynamic_File_Name&quot;(ALT_ALT_BUSINESS_APPLICATION)"/>
</DIUIOptions>
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_ALT_BUSINESS_APPLICATION"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_APPLICATION" name="ALT_APPLICATION" >
<DIOutputView name="ALT_APPLICATION"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALT_BUSINESS_APPLICATION_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the SLAOUTAGE data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 11 Mar 2011 16:40:33"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the SLAOUTAGE EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALT_BUSINESS_APPLICATION_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALT_BUSINESS_APPLICATION_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_ALT_BUSINESS_APPLICATION_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_ALT_BUSINESS_APPLICATION_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALT_BUSINESS_APPLICATION_" datatype="VARCHAR" size="29" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALT_BUSINESS_APPLICATION_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALT_BUSINESS_APPLICATION_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_SLAOUTAGE_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALT_BUSINESS_APPLICATION_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALT_BUSINESS_APPLICATION_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALT_BUSINESS_APPLICATION_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 11 Mar 2011 16:40:33"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_APPLICATION"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="( nvl(ALT_APPLICATION.DELETE_FLAG, 'N') = 'Y' and ALT_APPLICATION.MD_BUSINESS_KEY &lt;&gt; 'DUMMY ROW - DO NOT REMOVE')"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="1024" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_APPLICATION.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_APPLICATION.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_APPLICATION" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_APPLICATION" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_APPLICATION.DELETE_FLAG, 'N') = 'Y') AND&#xA;   (ALT_APPLICATION.MD_BUSINESS_KEY != 'DUMMY ROW - DO NOT REMOVE'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_APPLICATION" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_APPLICATION" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY ROW - DO NOT REMOVE" datatype="VARCHAR" size="25" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIUIOptions>
<DIAttribute name="ui_display_name" value="&quot;$P_Dynamic_File_Name_EXTD&quot;(ALT_EXTD_Flat_Files)"/>
</DIUIOptions>
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_APPLICATION" name="ALT_APPLICATION" >
<DIOutputView name="ALT_APPLICATION"  />
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTASSET_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTASSET data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 15 Apr 2011 01:37:23"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTASSET data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_ALTASSET_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table ALTASSET and writing it to the target ALTASSET_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_ALTASSET_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_ALTASSET_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_ALTASSET_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_ALTASSET_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_ALTASSET_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTASSET_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTASSET_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;#CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_ALTASSET' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;#$L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;#$L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_ALTASSET_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_ALTASSET_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALTASSET_" datatype="VARCHAR" size="13" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTASSET_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTASSET_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTASSET_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTASSET_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTASSET_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTASSET_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 15 Apr 2011 01:37:23"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_ALTASSET"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="NVL(ALT_ALTASSET.DELETE_FLAG,'N')&lt;&gt;'Y' AND ALT_ALTASSET.MD_BUSINESS_KEY&lt;&gt;'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="ASSET_NAME" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTASSET.ASSET_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="ASSET_NAME_ALT" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTASSET.ASSET_NAME_ALT&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="ASSET_TYPE" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTASSET.ASSET_TYPE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="COSTCENTER_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTASSET.COSTCENTER_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="DATE_DELIVER" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTASSET.DATE_DELIVER&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="DATE_INSTALLED" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTASSET.DATE_INSTALLED&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="DATE_ORDER" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTASSET.DATE_ORDER&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="DATE_REQUEST" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTASSET.DATE_REQUEST&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="DATE_RETIRED" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTASSET.DATE_RETIRED&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="LOCATION_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTASSET.LOCATION_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MAINT_CONT_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTASSET.MAINT_CONT_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTASSET.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MODEL_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTASSET.MODEL_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="ORG_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTASSET.ORG_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PARENT_BUSINESS_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTASSET.PARENT_BUSINESS_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="ASSET_STATUS" datatype="VARCHAR" size="20" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTASSET.ASSET_STATUS&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="USER_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTASSET.USER_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="CI_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTASSET.CI_BUSINESS_KEY"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_ALTASSET.ASSET_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTASSET" column="ASSET_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTASSET.ASSET_NAME_ALT" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTASSET" column="ASSET_NAME_ALT" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTASSET.ASSET_TYPE" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTASSET" column="ASSET_TYPE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTASSET.COSTCENTER_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTASSET" column="COSTCENTER_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTASSET.DATE_DELIVER" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTASSET" column="DATE_DELIVER" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTASSET.DATE_INSTALLED" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTASSET" column="DATE_INSTALLED" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTASSET.DATE_ORDER" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTASSET" column="DATE_ORDER" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTASSET.DATE_REQUEST" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTASSET" column="DATE_REQUEST" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTASSET.DATE_RETIRED" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTASSET" column="DATE_RETIRED" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTASSET.LOCATION_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTASSET" column="LOCATION_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTASSET.MAINT_CONT_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTASSET" column="MAINT_CONT_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTASSET.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTASSET" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTASSET.MODEL_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTASSET" column="MODEL_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTASSET.ORG_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTASSET" column="ORG_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTASSET.PARENT_BUSINESS_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTASSET" column="PARENT_BUSINESS_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTASSET.ASSET_STATUS" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTASSET" column="ASSET_STATUS" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTASSET.USER_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTASSET" column="USER_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTASSET.CI_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTASSET" column="CI_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_ALTASSET" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_ALTASSET.DELETE_FLAG, 'N') != 'Y') AND&#xA;   (ALT_ALTASSET.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTASSET" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_ALTASSET" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_ALTASSET" filename="$P_Dynamic_File_Name" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_ALTASSET"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_ALTASSET" name="ALT_ALTASSET" >
<DIOutputView name="ALT_ALTASSET"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTASSET_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTASSET data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 15 Apr 2011 01:37:23"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTASSET EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTASSET_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTASSET_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_ALTASSET_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_ALTASSET_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALTASSET_" datatype="VARCHAR" size="13" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTASSET_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTASSET_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTASSET_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTASSET_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTASSET_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTASSET_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 15 Apr 2011 01:37:23"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_ALTASSET"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="NVL(ALT_ALTASSET.DELETE_FLAG,'N')='Y' AND ALT_ALTASSET.MD_BUSINESS_KEY&lt;&gt;'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTASSET.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_ALTASSET.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTASSET" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_ALTASSET" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_ALTASSET.DELETE_FLAG, 'N') = 'Y') AND&#xA;   (ALT_ALTASSET.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTASSET" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_ALTASSET" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_ALTASSET" name="ALT_ALTASSET" >
<DIOutputView name="ALT_ALTASSET"  />
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTCFGITEM_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTCFGITEM data."/>
</DIAnnotation></DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 15 Apr 2011 01:37:23"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTCFGITEM data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_ALTCFGITEM_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table ALTCFGITEM and writing it to the target ALTCFGITEM_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_ALTCFGITEM_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_ALTCFGITEM_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_ALTCFGITEM_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_ALTCFGITEM_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_ALTCFGITEM_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIWorkflow name="ALT_ALTCFGITEM_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 15 Apr 2011 01:37:23"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTCFGITEM EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIWorkflow name="ALT_CONTRACT_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the CONTRACT data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Mon, 20 Jun 2011 12:18:15"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the CONTRACT data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_CONTRACT_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table CONTRACT and writing it to the target CONTRACT_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_CONTRACT_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_CONTRACT_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_CONTRACT_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_CONTRACT_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_CONTRACT_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_CONTRACT_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_CONTRACT_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;#CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_CONTRACT' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;#$L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;#$L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_CONTRACT_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_CONTRACT_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_CONTRACT_" datatype="VARCHAR" size="13" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_CONTRACT_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_CONTRACT_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_CONTRACT_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_CONTRACT_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_CONTRACT_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_CONTRACT_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Mon, 20 Jun 2011 12:18:15"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_CONTRACT_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="nvl(ALT_CONTRACT_XLS.DELETE_FLAG, 'N') &lt;&gt; 'Y' and ALT_CONTRACT_XLS.MD_BUSINESS_KEY&lt;&gt;'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="CONTRACT_CATEGORY" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CONTRACT_XLS.CONTRACT_CATEGORY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="CONTRACT_NAME" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CONTRACT_XLS.CONTRACT_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="CONTRACT_NAME_ALT" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CONTRACT_XLS.CONTRACT_NAME_ALT&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="COSTCATEGORY_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CONTRACT_XLS.COSTCATEGORY_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="COSTCENTER_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CONTRACT_XLS.COSTCENTER_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="DATE_END_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CONTRACT_XLS.DATE_END"/>
</DIAttributes>
</DIElement>
<DIElement name="DATE_END_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="null"/>
</DIAttributes>
</DIElement>
<DIElement name="DATE_START_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CONTRACT_XLS.DATE_START"/>
</DIAttributes>
</DIElement>
<DIElement name="DATE_START_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="null&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="FLAG_ASSIGNABLE" datatype="VARCHAR" size="1" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CONTRACT_XLS.FLAG_ASSIGNABLE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="FLAG_PURCHASE" datatype="VARCHAR" size="1" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CONTRACT_XLS.FLAG_PURCHASE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="FLAG_RENEWAL" datatype="VARCHAR" size="1" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CONTRACT_XLS.FLAG_RENEWAL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="FLAG_RETURN" datatype="VARCHAR" size="1" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CONTRACT_XLS.FLAG_RETURN&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="FLAG_UPGRADE" datatype="VARCHAR" size="1" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CONTRACT_XLS.FLAG_UPGRADE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="LICENSE_CATEGORY" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CONTRACT_XLS.LICENSE_CATEGORY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MANAGER_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CONTRACT_XLS.MANAGER_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CONTRACT_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PARENT_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CONTRACT_XLS.PARENT_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PAYMENT_TYPE" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CONTRACT_XLS.PAYMENT_TYPE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PERIODICITY" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CONTRACT_XLS.PERIODICITY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PURCHASE_OPTION_TYPE" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CONTRACT_XLS.PURCHASE_OPTION_TYPE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="RENEWAL_OPTION_TYPE" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CONTRACT_XLS.RENEWAL_OPTION_TYPE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="RETURN_OPTION_TYPE" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CONTRACT_XLS.RETURN_OPTION_TYPE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="STATUS" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CONTRACT_XLS.STATUS&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SUPPLIER_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CONTRACT_XLS.SUPPLIER_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="UPGRADE_OPTION_TYPE" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CONTRACT_XLS.UPGRADE_OPTION_TYPE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_CONTRACT_XLS.CONTRACT_CATEGORY" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="CONTRACT_CATEGORY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CONTRACT_XLS.CONTRACT_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="CONTRACT_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CONTRACT_XLS.CONTRACT_NAME_ALT" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="CONTRACT_NAME_ALT" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CONTRACT_XLS.COSTCATEGORY_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="COSTCATEGORY_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CONTRACT_XLS.COSTCENTER_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="COSTCENTER_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CONTRACT_XLS.DATE_END" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="DATE_END" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_CONTRACT_XLS.DATE_START" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="DATE_START" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_CONTRACT_XLS.FLAG_ASSIGNABLE" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="FLAG_ASSIGNABLE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CONTRACT_XLS.FLAG_PURCHASE" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="FLAG_PURCHASE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CONTRACT_XLS.FLAG_RENEWAL" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="FLAG_RENEWAL" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CONTRACT_XLS.FLAG_RETURN" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="FLAG_RETURN" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CONTRACT_XLS.FLAG_UPGRADE" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="FLAG_UPGRADE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CONTRACT_XLS.LICENSE_CATEGORY" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="LICENSE_CATEGORY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CONTRACT_XLS.MANAGER_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="MANAGER_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CONTRACT_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CONTRACT_XLS.PARENT_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="PARENT_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CONTRACT_XLS.PAYMENT_TYPE" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="PAYMENT_TYPE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CONTRACT_XLS.PERIODICITY" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="PERIODICITY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CONTRACT_XLS.PURCHASE_OPTION_TYPE" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="PURCHASE_OPTION_TYPE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CONTRACT_XLS.RENEWAL_OPTION_TYPE" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="RENEWAL_OPTION_TYPE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CONTRACT_XLS.RETURN_OPTION_TYPE" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="RETURN_OPTION_TYPE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CONTRACT_XLS.STATUS" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="STATUS" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CONTRACT_XLS.SUPPLIER_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="SUPPLIER_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CONTRACT_XLS.UPGRADE_OPTION_TYPE" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="UPGRADE_OPTION_TYPE" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_CONTRACT_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_CONTRACT_XLS.DELETE_FLAG, 'N') != 'Y') AND&#xA;   (ALT_CONTRACT_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_CONTRACT" filename="$P_Dynamic_File_Name" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_CONTRACT"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_CONTRACT_XLS" name="ALT_CONTRACT_XLS" >
<DIOutputView name="ALT_CONTRACT_XLS"  />
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_CONTRACT_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the CONTRACT data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Mon, 20 Jun 2011 12:18:15"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the CONTRACT EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_CONTRACT_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_CONTRACT_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_CONTRACT_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_CONTRACT_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_CONTRACT_" datatype="VARCHAR" size="13" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_CONTRACT_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_CONTRACT_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_CONTRACT_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_CONTRACT_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_CONTRACT_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_CONTRACT_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Mon, 20 Jun 2011 12:18:15"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_CONTRACT_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="nvl(ALT_CONTRACT_XLS.DELETE_FLAG, 'N') = 'Y' and ALT_CONTRACT_XLS.MD_BUSINESS_KEY&lt;&gt;'DUMMY'&#xD;&#xA; &#xD;&#xA;"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CONTRACT_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_CONTRACT_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_CONTRACT_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_CONTRACT_XLS.DELETE_FLAG, 'N') = 'Y') AND&#xA;   (ALT_CONTRACT_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_CONTRACT_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_CONTRACT_XLS" name="ALT_CONTRACT_XLS" >
<DIOutputView name="ALT_CONTRACT_XLS"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_COSTCENTER_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the COSTCENTER data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 26 May 2011 14:49:22"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the COSTCENTER data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_COSTCENTER_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table COSTCENTER and writing it to the target COSTCENTER_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_COSTCENTER_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_COSTCENTER_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_COSTCENTER_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_COSTCENTER_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_COSTCENTER_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_COSTCENTER_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_COSTCENTER_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;#CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_COSTCENTER' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;#$L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;#$L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_COSTCENTER_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_COSTCENTER_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_COSTCENTER_" datatype="VARCHAR" size="15" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_COSTCENTER_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_COSTCENTER_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_COSTCENTER_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_COSTCENTER_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_COSTCENTER_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_COSTCENTER_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 26 May 2011 14:49:22"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_COSTCENTER_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="nvl(ALT_COSTCENTER_XLS.DELETE_FLAG, 'N') &lt;&gt; 'Y' and ALT_COSTCENTER_XLS.MD_BUSINESS_KEY&lt;&gt;'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="COSTCENTER_NAME" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_COSTCENTER_XLS.COSTCENTER_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="COSTCENTER_NAME_ALT" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_COSTCENTER_XLS.COSTCENTER_NAME_ALT&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="DATE_END_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_COSTCENTER_XLS.DATE_END"/>
</DIAttributes>
</DIElement>
<DIElement name="DATE_END_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="null&#xD;&#xA;&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="DATE_START_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_COSTCENTER_XLS.DATE_START"/>
</DIAttributes>
</DIElement>
<DIElement name="DATE_START_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="null&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="GL_CODE" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_COSTCENTER_XLS.GL_CODE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MANAGER_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_COSTCENTER_XLS.MANAGER_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_COSTCENTER_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PARENT_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_COSTCENTER_XLS.PARENT_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_COSTCENTER_XLS.COSTCENTER_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_COSTCENTER_XLS" column="COSTCENTER_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_COSTCENTER_XLS.COSTCENTER_NAME_ALT" >
<COLUMN_REFERENCE  qualifier1="ALT_COSTCENTER_XLS" column="COSTCENTER_NAME_ALT" />
</DIExpression>
<DIExpression isString="true" expr="ALT_COSTCENTER_XLS.DATE_END" >
<COLUMN_REFERENCE  qualifier1="ALT_COSTCENTER_XLS" column="DATE_END" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_COSTCENTER_XLS.DATE_START" >
<COLUMN_REFERENCE  qualifier1="ALT_COSTCENTER_XLS" column="DATE_START" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_COSTCENTER_XLS.GL_CODE" >
<COLUMN_REFERENCE  qualifier1="ALT_COSTCENTER_XLS" column="GL_CODE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_COSTCENTER_XLS.MANAGER_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_COSTCENTER_XLS" column="MANAGER_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_COSTCENTER_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_COSTCENTER_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_COSTCENTER_XLS.PARENT_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_COSTCENTER_XLS" column="PARENT_NAME" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_COSTCENTER_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_COSTCENTER_XLS.DELETE_FLAG, 'N') != 'Y') AND&#xA;   (ALT_COSTCENTER_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_COSTCENTER_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_COSTCENTER_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_COSTCENTER" filename="$P_Dynamic_File_Name" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_COSTCENTER"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_COSTCENTER_XLS" name="ALT_COSTCENTER_XLS" >
<DIOutputView name="ALT_COSTCENTER_XLS"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_COSTCENTER_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the COSTCENTER data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 26 May 2011 14:49:22"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the COSTCENTER EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_COSTCENTER_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_COSTCENTER_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_COSTCENTER_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_COSTCENTER_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_COSTCENTER_" datatype="VARCHAR" size="15" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_COSTCENTER_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_COSTCENTER_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_COSTCENTER_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_COSTCENTER_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_COSTCENTER_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_COSTCENTER_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 26 May 2011 14:49:22"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_COSTCENTER_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="ALT_COSTCENTER_XLS.MD_BUSINESS_KEY &lt;&gt; 'DUMMY' AND ALT_COSTCENTER_XLS.DELETE_FLAG = 'Y'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_COSTCENTER_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_COSTCENTER_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_COSTCENTER_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_COSTCENTER_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((ALT_COSTCENTER_XLS.MD_BUSINESS_KEY != 'DUMMY') AND&#xA;   (ALT_COSTCENTER_XLS.DELETE_FLAG = 'Y'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_COSTCENTER_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
<LOGICAL_OP op="EQ">
<COLUMN_REFERENCE  qualifier1="ALT_COSTCENTER_XLS" column="DELETE_FLAG" />
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_COSTCENTER_XLS" name="ALT_COSTCENTER_XLS" >
<DIOutputView name="ALT_COSTCENTER_XLS"  />
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTEMPLOYMENT data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 7 Apr 2011 18:15:01"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTEMPLOYMENT data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table ALTEMPLOYMENT and writing it to the target ALTEMPLOYMENT_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;#CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_ALTEMPLOYMENT' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;#$L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;#$L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_ALTEMPLOYMENT_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_ALTEMPLOYMENT_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALTEMPLOYMENT_" datatype="VARCHAR" size="18" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 7 Apr 2011 18:15:01"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_EMPLOYMENT_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="NVL(ALT_EMPLOYMENT_XLS.DELETE_FLAG,'N')&lt;&gt;'Y' AND ALT_EMPLOYMENT_XLS.MD_BUSINESS_KEY&lt;&gt;'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="EMPLOYEE_STATUS" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_EMPLOYMENT_XLS.EMPLOYEE_STATUS&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="EMPLOYEE_TYPE" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_EMPLOYMENT_XLS.EMPLOYEE_TYPE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="END_DATE" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_EMPLOYMENT_XLS.END_DATE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_EMPLOYMENT_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PERSON" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_EMPLOYMENT_XLS.PERSON&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="START_DATE" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_EMPLOYMENT_XLS.START_DATE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_EMPLOYMENT_XLS.EMPLOYEE_STATUS" >
<COLUMN_REFERENCE  qualifier1="ALT_EMPLOYMENT_XLS" column="EMPLOYEE_STATUS" />
</DIExpression>
<DIExpression isString="true" expr="ALT_EMPLOYMENT_XLS.EMPLOYEE_TYPE" >
<COLUMN_REFERENCE  qualifier1="ALT_EMPLOYMENT_XLS" column="EMPLOYEE_TYPE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_EMPLOYMENT_XLS.END_DATE" >
<COLUMN_REFERENCE  qualifier1="ALT_EMPLOYMENT_XLS" column="END_DATE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_EMPLOYMENT_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_EMPLOYMENT_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_EMPLOYMENT_XLS.PERSON" >
<COLUMN_REFERENCE  qualifier1="ALT_EMPLOYMENT_XLS" column="PERSON" />
</DIExpression>
<DIExpression isString="true" expr="ALT_EMPLOYMENT_XLS.START_DATE" >
<COLUMN_REFERENCE  qualifier1="ALT_EMPLOYMENT_XLS" column="START_DATE" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_EMPLOYMENT_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_EMPLOYMENT_XLS.DELETE_FLAG, 'N') != 'Y') AND&#xA;   (ALT_EMPLOYMENT_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_EMPLOYMENT_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_EMPLOYMENT_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_ALTEMPLOYMENT" filename="$P_Dynamic_File_Name" >
<DIUIOptions>
<DIAttribute name="ui_display_name" value="&quot;$P_Dynamic_File_Name&quot;(ALT_ALTEMPLOYMENT)"/>
</DIUIOptions>
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_ALTEMPLOYMENT"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_EMPLOYMENT_XLS" name="ALT_EMPLOYMENT_XLS" >
<DIOutputView name="ALT_EMPLOYMENT_XLS"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTEMPLOYMENT data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 7 Apr 2011 18:15:01"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTEMPLOYMENT EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_ALTEMPLOYMENT_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_ALTEMPLOYMENT_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALTEMPLOYMENT_" datatype="VARCHAR" size="18" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTEMPLOYMENT_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 7 Apr 2011 18:15:01"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_EMPLOYMENT_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="NVL(ALT_EMPLOYMENT_XLS.DELETE_FLAG,'N')='Y' AND ALT_EMPLOYMENT_XLS.MD_BUSINESS_KEY&lt;&gt;'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_EMPLOYMENT_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_EMPLOYMENT_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_EMPLOYMENT_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_EMPLOYMENT_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_EMPLOYMENT_XLS.DELETE_FLAG, 'N') = 'Y') AND&#xA;   (ALT_EMPLOYMENT_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_EMPLOYMENT_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_EMPLOYMENT_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_EMPLOYMENT_XLS" name="ALT_EMPLOYMENT_XLS" >
<DIOutputView name="ALT_EMPLOYMENT_XLS"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_EXCHANGE_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the EXCHANGE data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Sat, 6 Nov 2010 22:09:19"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the EXCHANGE data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_EXCHANGE_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table EXCHANGE and writing it to the target EXCHANGE_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_EXCHANGE_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_EXCHANGE_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_EXCHANGE_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_EXCHANGE_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_EXCHANGE_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_ALT_ACTIVATED" datatype="VARCHAR" size="200" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_EXCHANGE_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_EXCHANGE_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;#CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_EXCHANGE' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;#$L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;#$L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;$L_ALT_ACTIVATED='Y';&#xD;&#xA;$L_Dynamic_File_Name ='ALT_EXCHANGE_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_ALT_ACTIVATED" >
<DIExpression isString="true" expr="'Y'" >
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</DIExpression>
</DIAssignmentStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_EXCHANGE_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_EXCHANGE_" datatype="VARCHAR" size="13" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DIIfStep typeId="2" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="If_condition" value="$L_ALT_ACTIVATED ='Y'"/>
<DIAttribute name="ui_display_name" value="CNDTN_ALT_STAT"/>
</DIUIOptions>
<DIExpression isString="true" expr="($L_ALT_ACTIVATED = 'Y')" >
<LOGICAL_OP op="EQ">
<VARIABLE_REFERENCE name="$L_ALT_ACTIVATED" />
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
</DIExpression>
<DIIf>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_EXCHANGE_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
</DIIf>
<DIElse>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="Script"/>
<DIAttribute name="ui_script_text" value="ETL_PRINT('NOT RUNNING THE WORKFLOW ' ||workflow_name( )); "/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('NOT RUNNING THE WORKFLOW ' || workflow_name()))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="NOT RUNNING THE WORKFLOW " datatype="VARCHAR" size="25" />
<FUNCTION_CALL name="workflow_name"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DIElse>
</DIIfStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_EXCHANGE_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_EXCHANGE_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_EXCHANGE_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_EXCHANGE_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_EXCHANGE_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Sat, 6 Nov 2010 22:09:19"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_EXCHANGE_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="nvl(ALT_EXCHANGE_XLS.DELETE_FLAG,'N') &lt;&gt; 'Y'&#xD;&#xA;and ALT_EXCHANGE_XLS.SOURCE_CURRENCY &lt;&gt; 'DUM'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="END_DATE" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_EXCHANGE_XLS.END_DATE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="EXCHANGE_RATE" datatype="DOUBLE" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_EXCHANGE_XLS.EXCHANGE_RATE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="IS_CURRENT" datatype="VARCHAR" size="1" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_EXCHANGE_XLS.IS_CURRENT&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_EXCHANGE_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SOURCE_CURRENCY" datatype="VARCHAR" size="3" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_EXCHANGE_XLS.SOURCE_CURRENCY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="START_DATE" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_EXCHANGE_XLS.START_DATE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="TARGET_CURRENCY" datatype="VARCHAR" size="3" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_EXCHANGE_XLS.TARGET_CURRENCY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_EXCHANGE_XLS.END_DATE" >
<COLUMN_REFERENCE  qualifier1="ALT_EXCHANGE_XLS" column="END_DATE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_EXCHANGE_XLS.EXCHANGE_RATE" >
<COLUMN_REFERENCE  qualifier1="ALT_EXCHANGE_XLS" column="EXCHANGE_RATE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_EXCHANGE_XLS.IS_CURRENT" >
<COLUMN_REFERENCE  qualifier1="ALT_EXCHANGE_XLS" column="IS_CURRENT" />
</DIExpression>
<DIExpression isString="true" expr="ALT_EXCHANGE_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_EXCHANGE_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_EXCHANGE_XLS.SOURCE_CURRENCY" >
<COLUMN_REFERENCE  qualifier1="ALT_EXCHANGE_XLS" column="SOURCE_CURRENCY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_EXCHANGE_XLS.START_DATE" >
<COLUMN_REFERENCE  qualifier1="ALT_EXCHANGE_XLS" column="START_DATE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_EXCHANGE_XLS.TARGET_CURRENCY" >
<COLUMN_REFERENCE  qualifier1="ALT_EXCHANGE_XLS" column="TARGET_CURRENCY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_EXCHANGE_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_EXCHANGE_XLS.DELETE_FLAG, 'N') != 'Y') AND&#xA;   (ALT_EXCHANGE_XLS.SOURCE_CURRENCY != 'DUM'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_EXCHANGE_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_EXCHANGE_XLS" column="SOURCE_CURRENCY" />
<CONSTANT value="DUM" datatype="VARCHAR" size="3" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXCHANGE" filename="$P_Dynamic_File_Name" >
<DIUIOptions>
<DIAttribute name="ui_display_name" value="&quot;$P_Dynamic_File_Name&quot;(ALT_EXCHANGE)"/>
</DIUIOptions>
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXCHANGE"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_EXCHANGE_XLS" name="ALT_EXCHANGE_XLS" >
<DIOutputView name="ALT_EXCHANGE_XLS"  />
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_INTERACTION_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the INTERACTION data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 30 Mar 2011 14:24:52"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the INTERACTION data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_INTERACTION_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table INTERACTION and writing it to the target INTERACTION_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_INTERACTION_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_INTERACTION_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_INTERACTION_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_INTERACTION_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_INTERACTION_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_INTERACTION_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_INTERACTION_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;#CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_INTERACTION' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;#$L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;#$L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_INTERACTION_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_INTERACTION_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_INTERACTION_" datatype="VARCHAR" size="16" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_INTERACTION_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_INTERACTION_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_INTERACTION_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_INTERACTION_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_INTERACTION_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_INTERACTION_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 30 Mar 2011 14:24:52"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_INTERACTION_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="nvl(ALT_INTERACTION_XLS.DELETE_FLAG, 'N')&lt;&gt;'Y' AND ALT_INTERACTION_XLS.MD_BUSINESS_KEY&lt;&gt;'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="ACTIVE_PROCESS" datatype="VARCHAR" size="1" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INTERACTION_XLS.ACTIVE_PROCESS&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="CATEGORY" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INTERACTION_XLS.CATEGORY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="CLOSE_TIME" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INTERACTION_XLS.CLOSE_TIME"/>
</DIAttributes>
</DIElement>
<DIElement name="COMPLETION_CODE" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INTERACTION_XLS.COMPLETION_CODE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="CREATE_TIME" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INTERACTION_XLS.CREATE_TIME"/>
</DIAttributes>
</DIElement>
<DIElement name="CUSTOMER_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INTERACTION_XLS.CUSTOMER_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="FIRST_CALL" datatype="VARCHAR" size="1" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INTERACTION_XLS.FIRST_CALL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="INTERACTION_STATUS" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INTERACTION_XLS.INTERACTION_STATUS&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="INTERACTION_TYPE" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INTERACTION_XLS.INTERACTION_TYPE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INTERACTION_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PRIORITY" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INTERACTION_XLS.PRIORITY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PROVIDER_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INTERACTION_XLS.PROVIDER_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="REFERENCE_NUMBER" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INTERACTION_XLS.REFERENCE_NUMBER&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SERVICE_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INTERACTION_XLS.SERVICE_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SUBCATEGORY" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INTERACTION_XLS.SUBCATEGORY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SURVEY_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INTERACTION_XLS.SURVEY_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="URGENCY" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INTERACTION_XLS.URGENCY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="LOCATION_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INTERACTION_XLS.LOCATION_NAME"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_INTERACTION_XLS.ACTIVE_PROCESS" >
<COLUMN_REFERENCE  qualifier1="ALT_INTERACTION_XLS" column="ACTIVE_PROCESS" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INTERACTION_XLS.CATEGORY" >
<COLUMN_REFERENCE  qualifier1="ALT_INTERACTION_XLS" column="CATEGORY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INTERACTION_XLS.CLOSE_TIME" >
<COLUMN_REFERENCE  qualifier1="ALT_INTERACTION_XLS" column="CLOSE_TIME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INTERACTION_XLS.COMPLETION_CODE" >
<COLUMN_REFERENCE  qualifier1="ALT_INTERACTION_XLS" column="COMPLETION_CODE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INTERACTION_XLS.CREATE_TIME" >
<COLUMN_REFERENCE  qualifier1="ALT_INTERACTION_XLS" column="CREATE_TIME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INTERACTION_XLS.CUSTOMER_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_INTERACTION_XLS" column="CUSTOMER_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INTERACTION_XLS.FIRST_CALL" >
<COLUMN_REFERENCE  qualifier1="ALT_INTERACTION_XLS" column="FIRST_CALL" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INTERACTION_XLS.INTERACTION_STATUS" >
<COLUMN_REFERENCE  qualifier1="ALT_INTERACTION_XLS" column="INTERACTION_STATUS" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INTERACTION_XLS.INTERACTION_TYPE" >
<COLUMN_REFERENCE  qualifier1="ALT_INTERACTION_XLS" column="INTERACTION_TYPE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INTERACTION_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_INTERACTION_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INTERACTION_XLS.PRIORITY" >
<COLUMN_REFERENCE  qualifier1="ALT_INTERACTION_XLS" column="PRIORITY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INTERACTION_XLS.PROVIDER_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_INTERACTION_XLS" column="PROVIDER_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INTERACTION_XLS.REFERENCE_NUMBER" >
<COLUMN_REFERENCE  qualifier1="ALT_INTERACTION_XLS" column="REFERENCE_NUMBER" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INTERACTION_XLS.SERVICE_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_INTERACTION_XLS" column="SERVICE_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INTERACTION_XLS.SUBCATEGORY" >
<COLUMN_REFERENCE  qualifier1="ALT_INTERACTION_XLS" column="SUBCATEGORY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INTERACTION_XLS.SURVEY_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_INTERACTION_XLS" column="SURVEY_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INTERACTION_XLS.URGENCY" >
<COLUMN_REFERENCE  qualifier1="ALT_INTERACTION_XLS" column="URGENCY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INTERACTION_XLS.LOCATION_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_INTERACTION_XLS" column="LOCATION_NAME" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_INTERACTION_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_INTERACTION_XLS.DELETE_FLAG, 'N') != 'Y') AND&#xA;   (ALT_INTERACTION_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_INTERACTION_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_INTERACTION_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_INTERACTION" filename="$P_Dynamic_File_Name" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_INTERACTION"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_INTERACTION_XLS" name="ALT_INTERACTION_XLS" >
<DIOutputView name="ALT_INTERACTION_XLS"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_INTERACTION_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the INTERACTION data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 30 Mar 2011 14:24:52"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the INTERACTION EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_INTERACTION_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_INTERACTION_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_INTERACTION_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_INTERACTION_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_INTERACTION_" datatype="VARCHAR" size="16" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_INTERACTION_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_INTERACTION_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_INTERACTION_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_INTERACTION_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_INTERACTION_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_INTERACTION_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 30 Mar 2011 14:24:52"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_INTERACTION_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="ALT_INTERACTION_XLS.MD_BUSINESS_KEY &lt;&gt; 'DUMMY' and nvl(ALT_INTERACTION_XLS.DELETE_FLAG,'N') = 'Y'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INTERACTION_XLS.MD_BUSINESS_KEY"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_INTERACTION_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_INTERACTION_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_INTERACTION_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((ALT_INTERACTION_XLS.MD_BUSINESS_KEY != 'DUMMY') AND&#xA;   (nvl(ALT_INTERACTION_XLS.DELETE_FLAG, 'N') = 'Y'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_INTERACTION_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_INTERACTION_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_INTERACTION_XLS" name="ALT_INTERACTION_XLS" >
<DIOutputView name="ALT_INTERACTION_XLS"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="MSExcel_data_access" value="MSExcel_none"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTLOCATION_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTLOCATION data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 11 Feb 2011 16:17:35"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTLOCATION data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_ALTLOCATION_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table ALTLOCATION and writing it to the target ALTLOCATION_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_ALTLOCATION_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_ALTLOCATION_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_ALTLOCATION_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_ALTLOCATION_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_ALTLOCATION_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTLOCATION_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTLOCATION_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;#CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_ALTLOCATION' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;#$L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;#$L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_ALTLOCATION_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_ALTLOCATION_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALTLOCATION_" datatype="VARCHAR" size="16" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTLOCATION_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTLOCATION_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTLOCATION_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTLOCATION_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTLOCATION_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTLOCATION_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 11 Feb 2011 16:17:35"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_ALTLOCATION"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="( nvl(ALT_ALTLOCATION.DELETE_FLAG, 'N') &lt;&gt; 'Y' ) and ALT_ALTLOCATION.LOCATION_NAME NOT LIKE 'DUMMY%'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="BUILDING" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTLOCATION.BUILDING&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="CITY" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTLOCATION.CITY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="COUNTRY" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTLOCATION.COUNTRY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="LOCATION_CATEGORY" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTLOCATION.LOCATION_CATEGORY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="LOCATION_NAME" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTLOCATION.LOCATION_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="LOCATION_NAME_ALT" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTLOCATION.LOCATION_NAME_ALT&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTLOCATION.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PARENT_LOCATION_NAME" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTLOCATION.PARENT_LOCATION_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="POSTAL_CODE" datatype="VARCHAR" size="10" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTLOCATION.POSTAL_CODE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SITE" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTLOCATION.SITE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="STATE_PROVINCE" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTLOCATION.STATE_PROVINCE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_ALTLOCATION.BUILDING" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTLOCATION" column="BUILDING" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTLOCATION.CITY" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTLOCATION" column="CITY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTLOCATION.COUNTRY" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTLOCATION" column="COUNTRY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTLOCATION.LOCATION_CATEGORY" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTLOCATION" column="LOCATION_CATEGORY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTLOCATION.LOCATION_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTLOCATION" column="LOCATION_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTLOCATION.LOCATION_NAME_ALT" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTLOCATION" column="LOCATION_NAME_ALT" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTLOCATION.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTLOCATION" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTLOCATION.PARENT_LOCATION_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTLOCATION" column="PARENT_LOCATION_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTLOCATION.POSTAL_CODE" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTLOCATION" column="POSTAL_CODE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTLOCATION.SITE" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTLOCATION" column="SITE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTLOCATION.STATE_PROVINCE" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTLOCATION" column="STATE_PROVINCE" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_ALTLOCATION" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_ALTLOCATION.DELETE_FLAG, 'N') != 'Y') AND&#xA;   ( not (ALT_ALTLOCATION.LOCATION_NAME like 'DUMMY%')))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTLOCATION" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NOT">
<LOGICAL_OP op="LIKE">
<COLUMN_REFERENCE  qualifier1="ALT_ALTLOCATION" column="LOCATION_NAME" />
<CONSTANT value="DUMMY%" datatype="VARCHAR" size="6" />
</LOGICAL_OP>
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_ALTLOCATION" filename="$P_Dynamic_File_Name" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_ALTLOCATION"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_ALTLOCATION" name="ALT_ALTLOCATION" >
<DIOutputView name="ALT_ALTLOCATION"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTLOCATION_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTLOCATION data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 11 Feb 2011 16:17:35"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTLOCATION EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTLOCATION_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTLOCATION_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_ALTLOCATION_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_ALTLOCATION_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALTLOCATION_" datatype="VARCHAR" size="16" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTLOCATION_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTLOCATION_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTLOCATION_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTLOCATION_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTLOCATION_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTLOCATION_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 11 Feb 2011 16:17:35"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_ALTLOCATION"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="( nvl(ALT_ALTLOCATION.DELETE_FLAG, 'N') = 'Y' and ALT_ALTLOCATION.LOCATION_NAME NOT LIKE 'DUMMY%')"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTLOCATION.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_ALTLOCATION.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTLOCATION" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_ALTLOCATION" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_ALTLOCATION.DELETE_FLAG, 'N') = 'Y') AND&#xA;   ( not (ALT_ALTLOCATION.LOCATION_NAME like 'DUMMY%')))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTLOCATION" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NOT">
<LOGICAL_OP op="LIKE">
<COLUMN_REFERENCE  qualifier1="ALT_ALTLOCATION" column="LOCATION_NAME" />
<CONSTANT value="DUMMY%" datatype="VARCHAR" size="6" />
</LOGICAL_OP>
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_ALTLOCATION" name="ALT_ALTLOCATION" >
<DIOutputView name="ALT_ALTLOCATION"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_MODEL_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the MODEL data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 22 Apr 2011 10:59:01"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the MODEL data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_MODEL_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table MODEL and writing it to the target MODEL_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_MODEL_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_MODEL_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_MODEL_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_MODEL_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_MODEL_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_MODEL_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_MODEL_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;#CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_MODEL' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;#$L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;#$L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_MODEL_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_MODEL_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_MODEL_" datatype="VARCHAR" size="10" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_MODEL_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_MODEL_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_MODEL_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_MODEL_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_MODEL_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_MODEL_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 22 Apr 2011 10:59:01"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_MODEL_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="nvl(ALT_MODEL_XLS.DELETE_FLAG, 'N') &lt;&gt; 'Y' and ALT_MODEL_XLS.MD_BUSINESS_KEY&lt;&gt;'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_MODEL_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MEMORY" datatype="DECIMAL" precision="32" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_MODEL_XLS.MEMORY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MODEL_NAME" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_MODEL_XLS.MODEL_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MODEL_NAME_ALT" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_MODEL_XLS.MODEL_NAME_ALT&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="OS" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_MODEL_XLS.OS&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PARENT_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_MODEL_XLS.PARENT_MODEL_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="PROCESSOR" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_MODEL_XLS.PROCESSOR&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_MODEL_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_MODEL_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_MODEL_XLS.MEMORY" >
<COLUMN_REFERENCE  qualifier1="ALT_MODEL_XLS" column="MEMORY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_MODEL_XLS.MODEL_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_MODEL_XLS" column="MODEL_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_MODEL_XLS.MODEL_NAME_ALT" >
<COLUMN_REFERENCE  qualifier1="ALT_MODEL_XLS" column="MODEL_NAME_ALT" />
</DIExpression>
<DIExpression isString="true" expr="ALT_MODEL_XLS.OS" >
<COLUMN_REFERENCE  qualifier1="ALT_MODEL_XLS" column="OS" />
</DIExpression>
<DIExpression isString="true" expr="ALT_MODEL_XLS.PARENT_MODEL_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_MODEL_XLS" column="PARENT_MODEL_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_MODEL_XLS.PROCESSOR" >
<COLUMN_REFERENCE  qualifier1="ALT_MODEL_XLS" column="PROCESSOR" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_MODEL_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_MODEL_XLS.DELETE_FLAG, 'N') != 'Y') AND&#xA;   (ALT_MODEL_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_MODEL_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_MODEL_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_MODEL" filename="$P_Dynamic_File_Name" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_MODEL"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_MODEL_XLS" name="ALT_MODEL_XLS" >
<DIOutputView name="ALT_MODEL_XLS"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_MODEL_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the MODEL data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 22 Apr 2011 10:59:01"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the MODEL EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_MODEL_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_MODEL_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_MODEL_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_MODEL_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_MODEL_" datatype="VARCHAR" size="10" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_MODEL_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_MODEL_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_MODEL_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_MODEL_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_MODEL_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_MODEL_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 22 Apr 2011 10:59:01"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_MODEL_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="ALT_MODEL_XLS.MD_BUSINESS_KEY &lt;&gt; 'DUMMY' AND ALT_MODEL_XLS.DELETE_FLAG = 'Y'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_MODEL_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_MODEL_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_MODEL_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_MODEL_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((ALT_MODEL_XLS.MD_BUSINESS_KEY != 'DUMMY') AND&#xA;   (ALT_MODEL_XLS.DELETE_FLAG = 'Y'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_MODEL_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
<LOGICAL_OP op="EQ">
<COLUMN_REFERENCE  qualifier1="ALT_MODEL_XLS" column="DELETE_FLAG" />
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_MODEL_XLS" name="ALT_MODEL_XLS" >
<DIOutputView name="ALT_MODEL_XLS"  />
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTORG_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTORG data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 11 Feb 2011 15:06:04"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTORG data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_ALTORG_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table ALTORG and writing it to the target ALTORG_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_ALTORG_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_ALTORG_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_ALTORG_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_ALTORG_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_ALTORG_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTORG_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTORG_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;#CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_ALTORG' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;#$L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;#$L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_ALTORG_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_ALTORG_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALTORG_" datatype="VARCHAR" size="11" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTORG_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTORG_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTORG_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTORG_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTORG_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTORG_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 11 Feb 2011 15:06:04"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_ALTORG"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="( nvl(ALT_ALTORG.DELETE_FLAG, 'N') &lt;&gt; 'Y' and ALT_ALTORG.ORG_NAME &lt;&gt; 'DUMMY ROW - DO NOT REMOVE')"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="FLAG_COMPANY" datatype="VARCHAR" size="1" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTORG.FLAG_COMPANY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="FLAG_INTERNAL" datatype="VARCHAR" size="1" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTORG.FLAG_INTERNAL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MANAGER_NAME" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTORG.MANAGER_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTORG.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="ORG_NAME" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTORG.ORG_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="ORG_NAME_ALT" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTORG.ORG_NAME_ALT&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PARENT_ORG_NAME" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTORG.PARENT_ORG_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_ALTORG.FLAG_COMPANY" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTORG" column="FLAG_COMPANY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTORG.FLAG_INTERNAL" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTORG" column="FLAG_INTERNAL" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTORG.MANAGER_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTORG" column="MANAGER_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTORG.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTORG" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTORG.ORG_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTORG" column="ORG_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTORG.ORG_NAME_ALT" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTORG" column="ORG_NAME_ALT" />
</DIExpression>
<DIExpression isString="true" expr="ALT_ALTORG.PARENT_ORG_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTORG" column="PARENT_ORG_NAME" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_ALTORG" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_ALTORG.DELETE_FLAG, 'N') != 'Y') AND&#xA;   (ALT_ALTORG.ORG_NAME != 'DUMMY ROW - DO NOT REMOVE'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTORG" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_ALTORG" column="ORG_NAME" />
<CONSTANT value="DUMMY ROW - DO NOT REMOVE" datatype="VARCHAR" size="25" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_ALTORG" filename="$P_Dynamic_File_Name" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_ALTORG"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_ALTORG" name="ALT_ALTORG" >
<DIOutputView name="ALT_ALTORG"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTORG_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTORG data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 11 Feb 2011 15:06:04"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTORG EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTORG_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTORG_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_ALTORG_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_ALTORG_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALTORG_" datatype="VARCHAR" size="11" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTORG_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTORG_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTORG_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTORG_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTORG_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTORG_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 11 Feb 2011 15:06:04"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_ALTORG"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="( nvl(ALT_ALTORG.DELETE_FLAG, 'N') = 'Y' and ALT_ALTORG.ORG_NAME &lt;&gt; 'DUMMY ROW - DO NOT REMOVE')"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_ALTORG.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_ALTORG.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTORG" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_ALTORG" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_ALTORG.DELETE_FLAG, 'N') = 'Y') AND&#xA;   (ALT_ALTORG.ORG_NAME != 'DUMMY ROW - DO NOT REMOVE'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_ALTORG" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_ALTORG" column="ORG_NAME" />
<CONSTANT value="DUMMY ROW - DO NOT REMOVE" datatype="VARCHAR" size="25" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_ALTORG" name="ALT_ALTORG" >
<DIOutputView name="ALT_ALTORG"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTPERSON_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTPERSON data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 3 Mar 2011 20:26:12"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTPERSON data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_ALTPERSON_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table ALTPERSON and writing it to the target ALTPERSON_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_ALTPERSON_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_ALTPERSON_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_ALTPERSON_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_ALTPERSON_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_ALTPERSON_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTPERSON_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTPERSON_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;#CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_ALTPERSON' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;#$L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;#$L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_ALTPERSON_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_ALTPERSON_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALTPERSON_" datatype="VARCHAR" size="14" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTPERSON_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTPERSON_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTPERSON_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTPERSON_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTPERSON_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTPERSON_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 3 Mar 2011 20:26:12"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_PERSON_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="(ALT_PERSON_XLS.DELETE_FLAG is null or ALT_PERSON_XLS.DELETE_FLAG &lt;&gt; 'Y') and ALT_PERSON_XLS.PERSON_NAME &lt;&gt; 'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="DATE_END" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PERSON_XLS.DATE_END&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="DATE_START" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PERSON_XLS.DATE_START&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="DEPT" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PERSON_XLS.DEPT&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="LOCATION" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PERSON_XLS.LOCATION&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PERSON_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PARENT" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PERSON_XLS.PARENT&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PERSON_NAME" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PERSON_XLS.PERSON_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PERSON_NAME_ALT" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PERSON_XLS.PERSON_NAME_ALT&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PRIMARY_EMAIL" datatype="VARCHAR" size="255" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PERSON_XLS.PRIMARY_EMAIL"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_PERSON_XLS.DATE_END" >
<COLUMN_REFERENCE  qualifier1="ALT_PERSON_XLS" column="DATE_END" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PERSON_XLS.DATE_START" >
<COLUMN_REFERENCE  qualifier1="ALT_PERSON_XLS" column="DATE_START" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PERSON_XLS.DEPT" >
<COLUMN_REFERENCE  qualifier1="ALT_PERSON_XLS" column="DEPT" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PERSON_XLS.LOCATION" >
<COLUMN_REFERENCE  qualifier1="ALT_PERSON_XLS" column="LOCATION" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PERSON_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_PERSON_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PERSON_XLS.PARENT" >
<COLUMN_REFERENCE  qualifier1="ALT_PERSON_XLS" column="PARENT" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PERSON_XLS.PERSON_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PERSON_XLS" column="PERSON_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PERSON_XLS.PERSON_NAME_ALT" >
<COLUMN_REFERENCE  qualifier1="ALT_PERSON_XLS" column="PERSON_NAME_ALT" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PERSON_XLS.PRIMARY_EMAIL" >
<COLUMN_REFERENCE  qualifier1="ALT_PERSON_XLS" column="PRIMARY_EMAIL" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_PERSON_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((  ((ALT_PERSON_XLS.DELETE_FLAG IS  NULL ) OR&#xA;   (ALT_PERSON_XLS.DELETE_FLAG != 'Y'))  ) AND&#xA;   (ALT_PERSON_XLS.PERSON_NAME != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="OR">
<LOGICAL_OP op="IS NULL">
<COLUMN_REFERENCE  qualifier1="ALT_PERSON_XLS" column="DELETE_FLAG" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_PERSON_XLS" column="DELETE_FLAG" />
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_PERSON_XLS" column="PERSON_NAME" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_ALTPERSON" filename="$P_Dynamic_File_Name" >
<DIUIOptions>
<DIAttribute name="ui_display_name" value="&quot;$P_Dynamic_File_Name&quot;(ALT_ALTPERSON)"/>
</DIUIOptions>
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_ALTPERSON"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_PERSON_XLS" name="ALT_PERSON_XLS" >
<DIOutputView name="ALT_PERSON_XLS"  />
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTPERSON_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTPERSON data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 3 Mar 2011 20:26:12"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTPERSON EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTPERSON_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTPERSON_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_ALTPERSON_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_ALTPERSON_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALTPERSON_" datatype="VARCHAR" size="14" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTPERSON_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTPERSON_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTPERSON_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTPERSON_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTPERSON_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTPERSON_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 3 Mar 2011 20:26:12"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_PERSON_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="ALT_PERSON_XLS.DELETE_FLAG = 'Y' and ALT_PERSON_XLS.PERSON_NAME &lt;&gt; 'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PERSON_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_PERSON_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_PERSON_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_PERSON_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((ALT_PERSON_XLS.DELETE_FLAG = 'Y') AND&#xA;   (ALT_PERSON_XLS.PERSON_NAME != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="EQ">
<COLUMN_REFERENCE  qualifier1="ALT_PERSON_XLS" column="DELETE_FLAG" />
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_PERSON_XLS" column="PERSON_NAME" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_PERSON_XLS" name="ALT_PERSON_XLS" >
<DIOutputView name="ALT_PERSON_XLS"  />
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTPLANNEDCOST data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 23 Feb 2011 14:56:34"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTPLANNEDCOST data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table ALTPLANNEDCOST and writing it to the target ALTPLANNEDCOST_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;#CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_ALTPLANNEDCOST' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;#$L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;#$L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_ALTPLANNEDCOST_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_ALTPLANNEDCOST_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALTPLANNEDCOST_" datatype="VARCHAR" size="19" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 23 Feb 2011 14:56:34"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_PLANNEDCOST_FACT_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="nvl(ALT_PLANNEDCOST_FACT_XLS.DELETE_FLAG, 'N') &lt;&gt; 'Y' and ALT_PLANNEDCOST_FACT_XLS.MD_BUSINESS_KEY&lt;&gt;'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="APPLIC_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="APPLICATION_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PLANNEDCOST_FACT_XLS.APPLICATION_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="BUDGET_BUSINESS_KEY" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PLANNEDCOST_FACT_XLS.BUDGET_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="BUDGET_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="BUDGETLINE_BUSINESS_KEY" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PLANNEDCOST_FACT_XLS.BUDGETLINE_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="BUDGETLINE_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="BUSSERVICE_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PLANNEDCOST_FACT_XLS.BUSSERVICE_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="BUSSERVICE_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="COST_BASE" datatype="DOUBLE" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="0&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="COST_LOC" datatype="DOUBLE" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PLANNEDCOST_FACT_XLS.COST_LOC"/>
</DIAttributes>
</DIElement>
<DIElement name="COSTCAT_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="COSTCATEGORY_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PLANNEDCOST_FACT_XLS.COSTCATEGORY_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="CURRENCY_BASE" datatype="VARCHAR" size="3" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="CURRENCY_LOC" datatype="VARCHAR" size="3" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PLANNEDCOST_FACT_XLS.CURRENCY"/>
</DIAttributes>
</DIElement>
<DIElement name="CUSTOMER_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PLANNEDCOST_FACT_XLS.CUSTOMER_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="CUSTOMER_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="DNFLAG_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PLANNEDCOST_FACT_XLS.DISC_NONDISC"/>
</DIAttributes>
</DIElement>
<DIElement name="DNFLAG_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="EXCH_BASE_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="EXCH_BASE_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="EXCH_LOC_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="EXCH_LOC_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="ITFUNCTION_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PLANNEDCOST_FACT_XLS.ITFUNCTION_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="ITFUNCTION_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="LOCATION_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PLANNEDCOST_FACT_XLS.LOCATION_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="LOCATION_ENTEPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MANAGER_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PLANNEDCOST_FACT_XLS.MANAGER_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="MANAGER_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PLANNEDCOST_FACT_XLS.MD_BUSINESS_KEY"/>
</DIAttributes>
</DIElement>
<DIElement name="OCFLAG_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PLANNEDCOST_FACT_XLS.OPEX_CAPEX"/>
</DIAttributes>
</DIElement>
<DIElement name="OCFLAG_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="ORG_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PLANNEDCOST_FACT_XLS.ORG_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="ORG_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PERIOD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PLANNEDCOST_FACT_XLS.&quot;DATE&quot;"/>
</DIAttributes>
</DIElement>
<DIElement name="PERIOD_START_DATE" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PLANNEDCOST_FACT_XLS.&quot;DATE&quot;"/>
</DIAttributes>
</DIElement>
<DIElement name="PLANNEDCOST_DESCRIPTION" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PLANNEDCOST_FACT_XLS.PLANNEDCOST_DESCRIPTION"/>
</DIAttributes>
</DIElement>
<DIElement name="PROGRAM_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PLANNEDCOST_FACT_XLS.PROGRAM_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="PROGRAM_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PROJECT_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PLANNEDCOST_FACT_XLS.PROJECT_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="PROJECT_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SCENARIO_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PLANNEDCOST_FACT_XLS.SCENARIO_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="SCENARIO_ENTEPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL"/>
</DIAttributes>
</DIElement>
<DIElement name="SUPPLIER_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PLANNEDCOST_FACT_XLS.SUPPLIER_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="SUPPLIER_ENTERPRISE_KEY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PLANNEDCOST_FACT_XLS.APPLICATION_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="APPLICATION_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PLANNEDCOST_FACT_XLS.BUDGET_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="BUDGET_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PLANNEDCOST_FACT_XLS.BUDGETLINE_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="BUDGETLINE_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PLANNEDCOST_FACT_XLS.BUSSERVICE_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="BUSSERVICE_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="0" >
<CONSTANT value="0" datatype="INT" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PLANNEDCOST_FACT_XLS.COST_LOC" >
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="COST_LOC" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PLANNEDCOST_FACT_XLS.COSTCATEGORY_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="COSTCATEGORY_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PLANNEDCOST_FACT_XLS.CURRENCY" >
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="CURRENCY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PLANNEDCOST_FACT_XLS.CUSTOMER_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="CUSTOMER_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PLANNEDCOST_FACT_XLS.DISC_NONDISC" >
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="DISC_NONDISC" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PLANNEDCOST_FACT_XLS.ITFUNCTION_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="ITFUNCTION_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PLANNEDCOST_FACT_XLS.LOCATION_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="LOCATION_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PLANNEDCOST_FACT_XLS.MANAGER_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="MANAGER_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PLANNEDCOST_FACT_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PLANNEDCOST_FACT_XLS.OPEX_CAPEX" >
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="OPEX_CAPEX" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PLANNEDCOST_FACT_XLS.ORG_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="ORG_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PLANNEDCOST_FACT_XLS.&quot;DATE&quot;" >
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="DATE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PLANNEDCOST_FACT_XLS.&quot;DATE&quot;" >
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="DATE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PLANNEDCOST_FACT_XLS.PLANNEDCOST_DESCRIPTION" >
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="PLANNEDCOST_DESCRIPTION" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PLANNEDCOST_FACT_XLS.PROGRAM_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="PROGRAM_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PLANNEDCOST_FACT_XLS.PROJECT_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="PROJECT_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PLANNEDCOST_FACT_XLS.SCENARIO_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="SCENARIO_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PLANNEDCOST_FACT_XLS.SUPPLIER_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="SUPPLIER_NAME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_PLANNEDCOST_FACT_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_PLANNEDCOST_FACT_XLS.DELETE_FLAG, 'N') != 'Y') AND&#xA;   (ALT_PLANNEDCOST_FACT_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_ALTPLANNEDCOST" filename="$P_Dynamic_File_Name" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_ALTPLANNEDCOST"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_PLANNEDCOST_FACT_XLS" name="ALT_PLANNEDCOST_FACT_XLS" >
<DIOutputView name="ALT_PLANNEDCOST_FACT_XLS"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="MSExcel_data_access" value="MSExcel_none"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTPLANNEDCOST data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 23 Feb 2011 14:56:34"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTPLANNEDCOST EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_ALTPLANNEDCOST_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_ALTPLANNEDCOST_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALTPLANNEDCOST_" datatype="VARCHAR" size="19" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTPLANNEDCOST_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 23 Feb 2011 14:56:34"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_PLANNEDCOST_FACT_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="(nvl(ALT_PLANNEDCOST_FACT_XLS.DELETE_FLAG, 'N') = 'Y' and ALT_PLANNEDCOST_FACT_XLS.MD_BUSINESS_KEY&lt;&gt;'DUMMY')"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PLANNEDCOST_FACT_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_PLANNEDCOST_FACT_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_PLANNEDCOST_FACT_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_PLANNEDCOST_FACT_XLS.DELETE_FLAG, 'N') = 'Y') AND&#xA;   (ALT_PLANNEDCOST_FACT_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_PLANNEDCOST_FACT_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_PLANNEDCOST_FACT_XLS" name="ALT_PLANNEDCOST_FACT_XLS" >
<DIOutputView name="ALT_PLANNEDCOST_FACT_XLS"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_PROJECT_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the PROJECT data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 24 Mar 2011 14:46:45"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the PROJECT data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_PROJECT_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table PROJECT and writing it to the target PROJECT_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_PROJECT_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_PROJECT_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_PROJECT_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_PROJECT_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_PROJECT_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_PROJECT_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_PROJECT_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;#CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_PROJECT' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;#$L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;#$L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_PROJECT_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_PROJECT_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_PROJECT_" datatype="VARCHAR" size="12" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_PROJECT_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_PROJECT_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_PROJECT_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_PROJECT_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_PROJECT_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_PROJECT_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 24 Mar 2011 14:46:45"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_PROJECT_1"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="( nvl(ALT_PROJECT_1.DELETE_FLAG, 'N') &lt;&gt; 'Y' and ALT_PROJECT_1.MD_BUSINESS_KEY &lt;&gt; 'DUMMY')"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="DESCRIPTION" datatype="VARCHAR" size="1024" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT_1.DESCRIPTION&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="END_DATE_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT_1.END_DATE"/>
</DIAttributes>
</DIElement>
<DIElement name="END_DATE_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="FLAG_ACTIVE" datatype="VARCHAR" size="1" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT_1.FLAG_ACTIVE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="FLAG_COMPLETED" datatype="VARCHAR" size="1" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT_1.FLAG_COMPLETED&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="HEALTH_INDICATOR" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT_1.HEALTH_INDICATOR&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="LOCATION_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT_1.LOCATION_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT_1.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="ORG_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT_1.ORG_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PARENT_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT_1.PARENT_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PLANNED_END_DATE_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT_1.PLANNED_END_DATE"/>
</DIAttributes>
</DIElement>
<DIElement name="PLANNED_END_DATE_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PLANNED_START_DATE_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT_1.PLANNED_START_DATE"/>
</DIAttributes>
</DIElement>
<DIElement name="PLANNED_START_DATE_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PROJECT_APPROVAL_DATE_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT_1.PROJECT_APPROVAL_DATE"/>
</DIAttributes>
</DIElement>
<DIElement name="PROJECT_APPROVAL_DATE_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PROJECT_CATEGORY" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT_1.PROJECT_CATEGORY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PROJECT_INITIATION_DATE_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT_1.PROJECT_INITIATION_DATE"/>
</DIAttributes>
</DIElement>
<DIElement name="PROJECT_INITIATION_DATE_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PROJECT_MGR_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT_1.PROJECT_MGR_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PROJECT_NAME" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT_1.PROJECT_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PROJECT_NAME_ALT" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT_1.PROJECT_NAME_ALT&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PROJECT_OBJECTIVE_NAME" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT_1.PROJECT_OBJECTIVE_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PROJECT_ROLLOUT_DATE_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT_1.PROJECT_ROLLOUT_DATE"/>
</DIAttributes>
</DIElement>
<DIElement name="PROJECT_ROLLOUT_DATE_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="RISK_RATING" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT_1.RISK_RATING&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SERVICE_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT_1.SERVICE_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="START_DATE_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT_1.START_DATE"/>
</DIAttributes>
</DIElement>
<DIElement name="START_DATE_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="STATUS" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT_1.STATUS&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="TOTAL_SCORE" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT_1.TOTAL_SCORE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="WORK_PLAN_CREATED_DATE_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT_1.WORK_PLAN_CREATED_DATE"/>
</DIAttributes>
</DIElement>
<DIElement name="WORK_PLAN_CREATED_DATE_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_PROJECT_1.DESCRIPTION" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="DESCRIPTION" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECT_1.END_DATE" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="END_DATE" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PROJECT_1.FLAG_ACTIVE" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="FLAG_ACTIVE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECT_1.FLAG_COMPLETED" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="FLAG_COMPLETED" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECT_1.HEALTH_INDICATOR" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="HEALTH_INDICATOR" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECT_1.LOCATION_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="LOCATION_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECT_1.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECT_1.ORG_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="ORG_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECT_1.PARENT_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="PARENT_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECT_1.PLANNED_END_DATE" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="PLANNED_END_DATE" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PROJECT_1.PLANNED_START_DATE" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="PLANNED_START_DATE" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PROJECT_1.PROJECT_APPROVAL_DATE" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="PROJECT_APPROVAL_DATE" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PROJECT_1.PROJECT_CATEGORY" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="PROJECT_CATEGORY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECT_1.PROJECT_INITIATION_DATE" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="PROJECT_INITIATION_DATE" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PROJECT_1.PROJECT_MGR_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="PROJECT_MGR_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECT_1.PROJECT_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="PROJECT_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECT_1.PROJECT_NAME_ALT" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="PROJECT_NAME_ALT" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECT_1.PROJECT_OBJECTIVE_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="PROJECT_OBJECTIVE_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECT_1.PROJECT_ROLLOUT_DATE" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="PROJECT_ROLLOUT_DATE" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PROJECT_1.RISK_RATING" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="RISK_RATING" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECT_1.SERVICE_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="SERVICE_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECT_1.START_DATE" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="START_DATE" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PROJECT_1.STATUS" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="STATUS" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECT_1.TOTAL_SCORE" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="TOTAL_SCORE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECT_1.WORK_PLAN_CREATED_DATE" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="WORK_PLAN_CREATED_DATE" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_PROJECT_1" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_PROJECT_1.DELETE_FLAG, 'N') != 'Y') AND&#xA;   (ALT_PROJECT_1.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT_1" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_PROJECT" filename="$P_Dynamic_File_Name" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_PROJECT"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_PROJECT" name="ALT_PROJECT_1" >
<DIOutputView name="ALT_PROJECT_1"  />
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_PROJECT_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the PROJECT data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 24 Mar 2011 14:46:45"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the PROJECT EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_PROJECT_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_PROJECT_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_PROJECT_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_PROJECT_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_PROJECT_" datatype="VARCHAR" size="12" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_PROJECT_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_PROJECT_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_PROJECT_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_PROJECT_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_PROJECT_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_PROJECT_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 24 Mar 2011 14:46:45"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_PROJECT"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="( nvl(ALT_PROJECT.DELETE_FLAG, 'N') = 'Y' and ALT_PROJECT.MD_BUSINESS_KEY &lt;&gt; 'DUMMY')"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECT.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_PROJECT.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_PROJECT" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_PROJECT.DELETE_FLAG, 'N') = 'Y') AND&#xA;   (ALT_PROJECT.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_PROJECT" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_PROJECT" name="ALT_PROJECT" >
<DIOutputView name="ALT_PROJECT"  />
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_PROJECTTASK_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the PROJECTTASK data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 31 Mar 2011 15:04:36"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the PROJECTTASK data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_PROJECTTASK_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table PROJECTTASK and writing it to the target PROJECTTASK_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_PROJECTTASK_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_PROJECTTASK_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_PROJECTTASK_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_PROJECTTASK_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_PROJECTTASK_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_PROJECTTASK_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_PROJECTTASK_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;#CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_PROJECTTASK' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;#$L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;#$L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_PROJECTTASK_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_PROJECTTASK_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_PROJECTTASK_" datatype="VARCHAR" size="16" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_PROJECTTASK_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_PROJECTTASK_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_PROJECTTASK_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_PROJECTTASK_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_PROJECTTASK_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_PROJECTTASK_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 31 Mar 2011 15:04:36"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_PROJECTTASK_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="nvl( ALT_PROJECTTASK_XLS.DELETE_FLAG,'N')&lt;&gt;'Y' AND ALT_PROJECTTASK_XLS.MD_BUSINESS_KEY&lt;&gt;'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="ACTUAL_EFFORT" datatype="DOUBLE" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECTTASK_XLS.ACTUAL_EFFORT&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="END_DATE_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECTTASK_XLS.END_DATE"/>
</DIAttributes>
</DIElement>
<DIElement name="END_DATE_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="ESTIMATED_REMAINING_EFFORT" datatype="DOUBLE" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECTTASK_XLS.ESTIMATED_REMAINING_EFFORT&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="FLAG_EXTERNAL_RSC_USED" datatype="VARCHAR" size="1" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECTTASK_XLS.FLAG_EXTERNAL_RSC_USED&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="LOCATION_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECTTASK_XLS.LOCATION_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECTTASK_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="ORG_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECTTASK_XLS.ORG_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PERSON_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECTTASK_XLS.PERSON_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PLANNED_DURATION" datatype="DOUBLE" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECTTASK_XLS.PLANNED_DURATION&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PLANNED_EFFORT" datatype="DOUBLE" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECTTASK_XLS.PLANNED_EFFORT&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PLANNED_END_DATE_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECTTASK_XLS.PLANNED_END_DATE"/>
</DIAttributes>
</DIElement>
<DIElement name="PLANNED_END_DATE_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PLANNED_START_DATE_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECTTASK_XLS.PLANNED_START_DATE"/>
</DIAttributes>
</DIElement>
<DIElement name="PLANNED_START_DATE_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PROJECT_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECTTASK_XLS.PROJECT_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SERVICE_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECTTASK_XLS.SERVICE_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="START_DATE_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECTTASK_XLS.START_DATE"/>
</DIAttributes>
</DIElement>
<DIElement name="START_DATE_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="NULL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="TASK_NAME" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECTTASK_XLS.TASK_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_PROJECTTASK_XLS.ACTUAL_EFFORT" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECTTASK_XLS" column="ACTUAL_EFFORT" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECTTASK_XLS.END_DATE" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECTTASK_XLS" column="END_DATE" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PROJECTTASK_XLS.ESTIMATED_REMAINING_EFFORT" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECTTASK_XLS" column="ESTIMATED_REMAINING_EFFORT" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECTTASK_XLS.FLAG_EXTERNAL_RSC_USED" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECTTASK_XLS" column="FLAG_EXTERNAL_RSC_USED" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECTTASK_XLS.LOCATION_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECTTASK_XLS" column="LOCATION_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECTTASK_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECTTASK_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECTTASK_XLS.ORG_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECTTASK_XLS" column="ORG_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECTTASK_XLS.PERSON_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECTTASK_XLS" column="PERSON_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECTTASK_XLS.PLANNED_DURATION" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECTTASK_XLS" column="PLANNED_DURATION" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECTTASK_XLS.PLANNED_EFFORT" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECTTASK_XLS" column="PLANNED_EFFORT" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECTTASK_XLS.PLANNED_END_DATE" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECTTASK_XLS" column="PLANNED_END_DATE" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PROJECTTASK_XLS.PLANNED_START_DATE" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECTTASK_XLS" column="PLANNED_START_DATE" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PROJECTTASK_XLS.PROJECT_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECTTASK_XLS" column="PROJECT_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECTTASK_XLS.SERVICE_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECTTASK_XLS" column="SERVICE_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PROJECTTASK_XLS.START_DATE" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECTTASK_XLS" column="START_DATE" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_PROJECTTASK_XLS.TASK_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECTTASK_XLS" column="TASK_NAME" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_PROJECTTASK_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_PROJECTTASK_XLS.DELETE_FLAG, 'N') != 'Y') AND&#xA;   (ALT_PROJECTTASK_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECTTASK_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_PROJECTTASK_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_PROJECTTASK" filename="$P_Dynamic_File_Name" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_PROJECTTASK"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_PROJECTTASK_XLS" name="ALT_PROJECTTASK_XLS" >
<DIOutputView name="ALT_PROJECTTASK_XLS"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_PROJECTTASK_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the PROJECTTASK data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 31 Mar 2011 15:04:36"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the PROJECTTASK EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_PROJECTTASK_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_PROJECTTASK_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_PROJECTTASK_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_PROJECTTASK_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_PROJECTTASK_" datatype="VARCHAR" size="16" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_PROJECTTASK_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_PROJECTTASK_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_PROJECTTASK_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_PROJECTTASK_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_PROJECTTASK_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_PROJECTTASK_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 31 Mar 2011 15:04:36"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_PROJECTTASK_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="NVL(ALT_PROJECTTASK_XLS.DELETE_FLAG,'N')='Y' AND ALT_PROJECTTASK_XLS.MD_BUSINESS_KEY&lt;&gt;'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PROJECTTASK_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_PROJECTTASK_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECTTASK_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_PROJECTTASK_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_PROJECTTASK_XLS.DELETE_FLAG, 'N') = 'Y') AND&#xA;   (ALT_PROJECTTASK_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_PROJECTTASK_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_PROJECTTASK_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_PROJECTTASK_XLS" name="ALT_PROJECTTASK_XLS" >
<DIOutputView name="ALT_PROJECTTASK_XLS"  />
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_REVENUE_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the REVENUE data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 24 Mar 2011 12:23:45"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the REVENUE data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_REVENUE_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table REVENUE and writing it to the target REVENUE_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_REVENUE_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_REVENUE_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_REVENUE_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_REVENUE_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_REVENUE_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_REVENUE_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_REVENUE_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;#CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_REVENUE' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;#$L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;#$L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_REVENUE_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_REVENUE_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_REVENUE_" datatype="VARCHAR" size="12" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_REVENUE_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_REVENUE_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_REVENUE_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_REVENUE_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_REVENUE_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_REVENUE_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 24 Mar 2011 12:23:45"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_REVENUE_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="ALT_REVENUE_XLS.MD_BUSINESS_KEY &lt;&gt; 'DUMMY' and ALT_REVENUE_XLS.DELETE_FLAG &lt;&gt; 'Y'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="ACTUAL_REVENUE_BASE" datatype="DOUBLE" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_REVENUE_XLS.ACTUAL_REVENUE_BASE&#xD;&#xA;&#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="ACTUAL_REVENUE_LOC" datatype="DOUBLE" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_REVENUE_XLS.ACTUAL_REVENUE_LOC&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_REVENUE_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="ORG_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_REVENUE_XLS.ORG_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="PERIOD_START_DATE" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_REVENUE_XLS.PERIOD_START_DATE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PLAN_REVENUE_BASE" datatype="DOUBLE" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_REVENUE_XLS.PLAN_REVENUE_BASE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PLAN_REVENUE_LOC" datatype="DOUBLE" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_REVENUE_XLS.PLAN_REVENUE_LOC&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PROJECT_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_REVENUE_XLS.PROJECT_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SERVICE_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_REVENUE_XLS.SERVICE_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_REVENUE_XLS.ACTUAL_REVENUE_BASE" >
<COLUMN_REFERENCE  qualifier1="ALT_REVENUE_XLS" column="ACTUAL_REVENUE_BASE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_REVENUE_XLS.ACTUAL_REVENUE_LOC" >
<COLUMN_REFERENCE  qualifier1="ALT_REVENUE_XLS" column="ACTUAL_REVENUE_LOC" />
</DIExpression>
<DIExpression isString="true" expr="ALT_REVENUE_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_REVENUE_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_REVENUE_XLS.ORG_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_REVENUE_XLS" column="ORG_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_REVENUE_XLS.PERIOD_START_DATE" >
<COLUMN_REFERENCE  qualifier1="ALT_REVENUE_XLS" column="PERIOD_START_DATE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_REVENUE_XLS.PLAN_REVENUE_BASE" >
<COLUMN_REFERENCE  qualifier1="ALT_REVENUE_XLS" column="PLAN_REVENUE_BASE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_REVENUE_XLS.PLAN_REVENUE_LOC" >
<COLUMN_REFERENCE  qualifier1="ALT_REVENUE_XLS" column="PLAN_REVENUE_LOC" />
</DIExpression>
<DIExpression isString="true" expr="ALT_REVENUE_XLS.PROJECT_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_REVENUE_XLS" column="PROJECT_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_REVENUE_XLS.SERVICE_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_REVENUE_XLS" column="SERVICE_NAME" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_REVENUE_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((ALT_REVENUE_XLS.MD_BUSINESS_KEY != 'DUMMY') AND&#xA;   (ALT_REVENUE_XLS.DELETE_FLAG != 'Y'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_REVENUE_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_REVENUE_XLS" column="DELETE_FLAG" />
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_REVENUE" filename="$P_Dynamic_File_Name" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_REVENUE"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_REVENUE_XLS" name="ALT_REVENUE_XLS" >
<DIOutputView name="ALT_REVENUE_XLS"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_REVENUE_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the REVENUE data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 24 Mar 2011 12:23:45"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the REVENUE EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_REVENUE_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_REVENUE_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_REVENUE_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_REVENUE_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_REVENUE_" datatype="VARCHAR" size="12" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_REVENUE_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_REVENUE_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_REVENUE_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_REVENUE_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_REVENUE_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_REVENUE_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 24 Mar 2011 12:23:45"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_REVENUE_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="ALT_REVENUE_XLS.MD_BUSINESS_KEY &lt;&gt; 'DUMMY' and ALT_REVENUE_XLS.DELETE_FLAG = 'Y'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_REVENUE_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_REVENUE_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_REVENUE_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_REVENUE_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((ALT_REVENUE_XLS.MD_BUSINESS_KEY != 'DUMMY') AND&#xA;   (ALT_REVENUE_XLS.DELETE_FLAG = 'Y'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_REVENUE_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
<LOGICAL_OP op="EQ">
<COLUMN_REFERENCE  qualifier1="ALT_REVENUE_XLS" column="DELETE_FLAG" />
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_REVENUE_XLS" name="ALT_REVENUE_XLS" >
<DIOutputView name="ALT_REVENUE_XLS"  />
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_CHANGE_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the CHANGE data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 25 Mar 2011 13:28:00"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the CHANGE data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_CHANGE_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table CHANGE and writing it to the target CHANGE_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_CHANGE_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_CHANGE_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_CHANGE_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_CHANGE_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_CHANGE_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_CHANGE_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_CHANGE_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;# CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_CHANGE' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;# $L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;# $L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_CHANGE_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_CHANGE_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_CHANGE_" datatype="VARCHAR" size="11" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_CHANGE_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_CHANGE_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_CHANGE_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_CHANGE_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_CHANGE_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_CHANGE_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 25 Mar 2011 13:28:00"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_CHANGE_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="ALT_CHANGE_XLS.MD_BUSINESS_KEY &lt;&gt; 'DUMMY' AND NVL(ALT_CHANGE_XLS.DELETE_FLAG,'N')&lt;&gt;'Y'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="APPROVAL_STATUS" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CHANGE_XLS.APPROVAL_STATUS&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="CHANGE_CATEGORY" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CHANGE_XLS.CHANGE_CATEGORY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="CHANGE_SUBCATEGORY" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CHANGE_XLS.CHANGE_SUBCATEGORY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="CLOSE_TIME_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CHANGE_XLS.CLOSE_TIME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="CLOSE_TIME_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="null&#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="COMPLETION_CODE" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CHANGE_XLS.COMPLETION_CODE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="CREATE_TIME_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CHANGE_XLS.CREATE_TIME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="CREATE_TIME_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="null&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="EMERGENCY_CHANGE" datatype="VARCHAR" size="1" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CHANGE_XLS.EMERGENCY_CHANGE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CHANGE_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="OUTAGE_END_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CHANGE_XLS.OUTAGE_END&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="OUTAGE_END_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="null&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="OUTAGE_START_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value=" ALT_CHANGE_XLS.OUTAGE_START&#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="OUTAGE_START_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="null&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PRIORITY" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CHANGE_XLS.PRIORITY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="REFERENCE_NUMBER" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CHANGE_XLS.REFERENCE_NUMBER&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SERVICE_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CHANGE_XLS.SERVICE_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="UNPLANNED_CHANGE" datatype="VARCHAR" size="1" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CHANGE_XLS.UNPLANNED_CHANGE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="URGENCY" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CHANGE_XLS.URGENCY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_CHANGE_XLS.APPROVAL_STATUS" >
<COLUMN_REFERENCE  qualifier1="ALT_CHANGE_XLS" column="APPROVAL_STATUS" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CHANGE_XLS.CHANGE_CATEGORY" >
<COLUMN_REFERENCE  qualifier1="ALT_CHANGE_XLS" column="CHANGE_CATEGORY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CHANGE_XLS.CHANGE_SUBCATEGORY" >
<COLUMN_REFERENCE  qualifier1="ALT_CHANGE_XLS" column="CHANGE_SUBCATEGORY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CHANGE_XLS.CLOSE_TIME" >
<COLUMN_REFERENCE  qualifier1="ALT_CHANGE_XLS" column="CLOSE_TIME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_CHANGE_XLS.COMPLETION_CODE" >
<COLUMN_REFERENCE  qualifier1="ALT_CHANGE_XLS" column="COMPLETION_CODE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CHANGE_XLS.CREATE_TIME" >
<COLUMN_REFERENCE  qualifier1="ALT_CHANGE_XLS" column="CREATE_TIME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_CHANGE_XLS.EMERGENCY_CHANGE" >
<COLUMN_REFERENCE  qualifier1="ALT_CHANGE_XLS" column="EMERGENCY_CHANGE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CHANGE_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_CHANGE_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CHANGE_XLS.OUTAGE_END" >
<COLUMN_REFERENCE  qualifier1="ALT_CHANGE_XLS" column="OUTAGE_END" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_CHANGE_XLS.OUTAGE_START" >
<COLUMN_REFERENCE  qualifier1="ALT_CHANGE_XLS" column="OUTAGE_START" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_CHANGE_XLS.PRIORITY" >
<COLUMN_REFERENCE  qualifier1="ALT_CHANGE_XLS" column="PRIORITY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CHANGE_XLS.REFERENCE_NUMBER" >
<COLUMN_REFERENCE  qualifier1="ALT_CHANGE_XLS" column="REFERENCE_NUMBER" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CHANGE_XLS.SERVICE_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_CHANGE_XLS" column="SERVICE_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CHANGE_XLS.UNPLANNED_CHANGE" >
<COLUMN_REFERENCE  qualifier1="ALT_CHANGE_XLS" column="UNPLANNED_CHANGE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_CHANGE_XLS.URGENCY" >
<COLUMN_REFERENCE  qualifier1="ALT_CHANGE_XLS" column="URGENCY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_CHANGE_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((ALT_CHANGE_XLS.MD_BUSINESS_KEY != 'DUMMY') AND&#xA;   (nvl(ALT_CHANGE_XLS.DELETE_FLAG, 'N') != 'Y'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_CHANGE_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_CHANGE_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_CHANGE" filename="$P_Dynamic_File_Name" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_CHANGE"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="no"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_CHANGE_XLS" name="ALT_CHANGE_XLS" >
<DIOutputView name="ALT_CHANGE_XLS"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="MSExcel_data_access" value="MSExcel_none"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_CHANGE_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the CHANGE data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 25 Mar 2011 13:28:00"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the CHANGE EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_CHANGE_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_CHANGE_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_CHANGE_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_CHANGE_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_CHANGE_" datatype="VARCHAR" size="11" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_CHANGE_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_CHANGE_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_CHANGE_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_CHANGE_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_CHANGE_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_CHANGE_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 25 Mar 2011 13:28:00"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_CHANGE_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="ALT_CHANGE_XLS.MD_BUSINESS_KEY &lt;&gt; 'DUMMY' AND NVL(ALT_CHANGE_XLS.DELETE_FLAG,'N')= 'Y'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_CHANGE_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_CHANGE_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_CHANGE_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_CHANGE_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((ALT_CHANGE_XLS.MD_BUSINESS_KEY != 'DUMMY') AND&#xA;   (nvl(ALT_CHANGE_XLS.DELETE_FLAG, 'N') = 'Y'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_CHANGE_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_CHANGE_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_CHANGE_XLS" name="ALT_CHANGE_XLS" >
<DIOutputView name="ALT_CHANGE_XLS"  />
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_INCIDENT_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the INCIDENT data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 6 Apr 2011 15:24:32"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the INCIDENT data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_INCIDENT_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table INCIDENT and writing it to the target INCIDENT_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_INCIDENT_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_INCIDENT_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_INCIDENT_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_INCIDENT_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_INCIDENT_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_INCIDENT_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_INCIDENT_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;# CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_INCIDENT' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;# $L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;# $L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_INCIDENT_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_INCIDENT_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_INCIDENT_" datatype="VARCHAR" size="13" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_INCIDENT_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_INCIDENT_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_INCIDENT_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_INCIDENT_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_INCIDENT_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_INCIDENT_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 6 Apr 2011 15:24:32"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_INCIDENT_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="NVL(ALT_INCIDENT_XLS.DELETE_FLAG,'N')&lt;&gt;'Y' AND ALT_INCIDENT_XLS.MD_BUSINESS_KEY&lt;&gt;'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="ACTIVE_PROCESS" datatype="VARCHAR" size="1" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INCIDENT_XLS.ACTIVE_PROCESS&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="ASSIGNED_TO_ORG" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INCIDENT_XLS.ASSIGNED_TO_ORG&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="CATEGORY" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INCIDENT_XLS.CATEGORY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="CLOSE_TIME_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INCIDENT_XLS.CLOSE_TIME&#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="CLOSE_TIME_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="null"/>
</DIAttributes>
</DIElement>
<DIElement name="COMPLETION_CODE" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INCIDENT_XLS.COMPLETION_CODE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="CREATE_TIME_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INCIDENT_XLS.CREATE_TIME"/>
</DIAttributes>
</DIElement>
<DIElement name="CREATE_TIME_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="null&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="ESCALATION" datatype="VARCHAR" size="1" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INCIDENT_XLS.ESCALATION&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="IMPACT_SCOPE" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INCIDENT_XLS.IMPACT_SCOPE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="INCIDENT_STATUS" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INCIDENT_XLS.INCIDENT_STATUS&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="INCIDENT_TYPE" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INCIDENT_XLS.INCIDENT_TYPE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INCIDENT_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="OUTAGE_END_DATE_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INCIDENT_XLS.OUTAGE_END_DATE"/>
</DIAttributes>
</DIElement>
<DIElement name="OUTAGE_END_DATE_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="null&#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="OUTAGE_START_DATE_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INCIDENT_XLS.OUTAGE_START_DATE&#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="OUTAGE_START_DATE_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="null"/>
</DIAttributes>
</DIElement>
<DIElement name="PRIORITY" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INCIDENT_XLS.PRIORITY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PROBLEM_NUMBER" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INCIDENT_XLS.PROBLEM_NUMBER&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="REFERENCE_NUMBER" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INCIDENT_XLS.REFERENCE_NUMBER&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="REOPEN_TIME_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INCIDENT_XLS.REOPEN_TIME"/>
</DIAttributes>
</DIElement>
<DIElement name="REOPEN_TIME_UTC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="null&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="REQUESTED_BY_ORG" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INCIDENT_XLS.REQUESTED_BY_ORG&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SERVICE_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INCIDENT_XLS.SERVICE_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SUBCATEGORY" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INCIDENT_XLS.SUBCATEGORY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="URGENCY" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INCIDENT_XLS.URGENCY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="LOCATION_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INCIDENT_XLS.LOCATION_NAME"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_INCIDENT_XLS.ACTIVE_PROCESS" >
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="ACTIVE_PROCESS" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INCIDENT_XLS.ASSIGNED_TO_ORG" >
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="ASSIGNED_TO_ORG" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INCIDENT_XLS.CATEGORY" >
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="CATEGORY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INCIDENT_XLS.CLOSE_TIME" >
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="CLOSE_TIME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_INCIDENT_XLS.COMPLETION_CODE" >
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="COMPLETION_CODE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INCIDENT_XLS.CREATE_TIME" >
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="CREATE_TIME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_INCIDENT_XLS.ESCALATION" >
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="ESCALATION" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INCIDENT_XLS.IMPACT_SCOPE" >
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="IMPACT_SCOPE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INCIDENT_XLS.INCIDENT_STATUS" >
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="INCIDENT_STATUS" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INCIDENT_XLS.INCIDENT_TYPE" >
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="INCIDENT_TYPE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INCIDENT_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INCIDENT_XLS.OUTAGE_END_DATE" >
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="OUTAGE_END_DATE" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_INCIDENT_XLS.OUTAGE_START_DATE" >
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="OUTAGE_START_DATE" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_INCIDENT_XLS.PRIORITY" >
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="PRIORITY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INCIDENT_XLS.PROBLEM_NUMBER" >
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="PROBLEM_NUMBER" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INCIDENT_XLS.REFERENCE_NUMBER" >
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="REFERENCE_NUMBER" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INCIDENT_XLS.REOPEN_TIME" >
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="REOPEN_TIME" />
</DIExpression>
<DIExpression isString="true" expr=" NULL " >
<CONSTANT_NULL /></DIExpression>
<DIExpression isString="true" expr="ALT_INCIDENT_XLS.REQUESTED_BY_ORG" >
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="REQUESTED_BY_ORG" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INCIDENT_XLS.SERVICE_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="SERVICE_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INCIDENT_XLS.SUBCATEGORY" >
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="SUBCATEGORY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INCIDENT_XLS.URGENCY" >
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="URGENCY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_INCIDENT_XLS.LOCATION_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="LOCATION_NAME" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_INCIDENT_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_INCIDENT_XLS.DELETE_FLAG, 'N') != 'Y') AND&#xA;   (ALT_INCIDENT_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_INCIDENT" filename="$P_Dynamic_File_Name" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_INCIDENT"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_INCIDENT_XLS" name="ALT_INCIDENT_XLS" >
<DIOutputView name="ALT_INCIDENT_XLS"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_INCIDENT_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the INCIDENT data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 6 Apr 2011 15:24:32"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the INCIDENT EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_INCIDENT_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_INCIDENT_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_INCIDENT_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_INCIDENT_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_INCIDENT_" datatype="VARCHAR" size="13" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_INCIDENT_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_INCIDENT_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_INCIDENT_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_INCIDENT_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_INCIDENT_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_INCIDENT_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 6 Apr 2011 15:24:32"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_INCIDENT_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="ALT_INCIDENT_XLS.MD_BUSINESS_KEY &lt;&gt; 'DUMMY' AND ALT_INCIDENT_XLS.DELETE_FLAG = 'Y'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_INCIDENT_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_INCIDENT_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_INCIDENT_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((ALT_INCIDENT_XLS.MD_BUSINESS_KEY != 'DUMMY') AND&#xA;   (ALT_INCIDENT_XLS.DELETE_FLAG = 'Y'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
<LOGICAL_OP op="EQ">
<COLUMN_REFERENCE  qualifier1="ALT_INCIDENT_XLS" column="DELETE_FLAG" />
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_INCIDENT_XLS" name="ALT_INCIDENT_XLS" >
<DIOutputView name="ALT_INCIDENT_XLS"  />
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTPRJOBJECTIVE data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Tue, 15 Mar 2011 15:31:07"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTPRJOBJECTIVE data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table ALTPRJOBJECTIVE and writing it to the target ALTPRJOBJECTIVE_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;#CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_ALTPRJOBJECTIVE' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;#$L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;#$L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_PRJOBJECTIVE_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_PRJOBJECTIVE_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_PRJOBJECTIVE_" datatype="VARCHAR" size="17" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Tue, 15 Mar 2011 15:31:07"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_PRJOBJECTIVE"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="NVL(ALT_PRJOBJECTIVE.DELETE_FLAG,'N')&lt;&gt;'Y' and  ALT_PRJOBJECTIVE.MD_BUSINESS_KEY&lt;&gt;'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PRJOBJECTIVE.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="OBJECTIVE_NAME" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PRJOBJECTIVE.OBJECTIVE_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="OBJECTIVE_PRIORITY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PRJOBJECTIVE.OBJECTIVE_PRIORITY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="OBJECTIVE_STATE" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PRJOBJECTIVE.OBJECTIVE_STATE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_PRJOBJECTIVE.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_PRJOBJECTIVE" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PRJOBJECTIVE.OBJECTIVE_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_PRJOBJECTIVE" column="OBJECTIVE_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PRJOBJECTIVE.OBJECTIVE_PRIORITY" >
<COLUMN_REFERENCE  qualifier1="ALT_PRJOBJECTIVE" column="OBJECTIVE_PRIORITY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_PRJOBJECTIVE.OBJECTIVE_STATE" >
<COLUMN_REFERENCE  qualifier1="ALT_PRJOBJECTIVE" column="OBJECTIVE_STATE" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_PRJOBJECTIVE" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_PRJOBJECTIVE.DELETE_FLAG, 'N') != 'Y') AND&#xA;   (ALT_PRJOBJECTIVE.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_PRJOBJECTIVE" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_PRJOBJECTIVE" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_ALTPRJOBJECTIVE" filename="$P_Dynamic_File_Name" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_ALTPRJOBJECTIVE"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_PRJOBJECTIVE" name="ALT_PRJOBJECTIVE" >
<DIOutputView name="ALT_PRJOBJECTIVE"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTPRJOBJECTIVE data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Tue, 15 Mar 2011 15:31:07"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTPRJOBJECTIVE EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_PRJOBJECTIVE_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_PRJOBJECTIVE_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_PRJOBJECTIVE_" datatype="VARCHAR" size="17" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTPRJOBJECTIVE_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Tue, 15 Mar 2011 15:31:07"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_PRJOBJECTIVE"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="NVL(ALT_PRJOBJECTIVE.DELETE_FLAG,'N')='Y' and  ALT_PRJOBJECTIVE.MD_BUSINESS_KEY&lt;&gt;'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_PRJOBJECTIVE.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_PRJOBJECTIVE.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_PRJOBJECTIVE" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_PRJOBJECTIVE" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_PRJOBJECTIVE.DELETE_FLAG, 'N') = 'Y') AND&#xA;   (ALT_PRJOBJECTIVE.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_PRJOBJECTIVE" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_PRJOBJECTIVE" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_PRJOBJECTIVE" name="ALT_PRJOBJECTIVE" >
<DIOutputView name="ALT_PRJOBJECTIVE"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTSERVICE_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTSERVICE data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 16 Feb 2011 12:22:53"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTSERVICE data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_ALTSERVICE_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table ALTSERVICE and writing it to the target ALTSERVICE_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_ALTSERVICE_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_ALTSERVICE_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_ALTSERVICE_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_ALTSERVICE_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_ALTSERVICE_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTSERVICE_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSERVICE_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;#CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_ALTSERVICE' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;#$L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;#$L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_ALTSERVICE_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_ALTSERVICE_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALTSERVICE_" datatype="VARCHAR" size="15" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTSERVICE_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSERVICE_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTSERVICE_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSERVICE_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTSERVICE_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTSERVICE_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 16 Feb 2011 12:22:53"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_SERVICE_DIM_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="NVL(ALT_SERVICE_DIM_XLS.DELETE_FLAG,'N')&lt;&gt;'Y' AND ALT_SERVICE_DIM_XLS.MD_BUSINESS_KEY&lt;&gt;'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="BUSINESS_CRITICALITY" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SERVICE_DIM_XLS.BUSINESS_CRITICALITY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="CI_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SERVICE_DIM_XLS.CI_BUSINESS_KEY"/>
</DIAttributes>
</DIElement>
<DIElement name="DESCRIPTION" datatype="VARCHAR" size="1024" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SERVICE_DIM_XLS.DESCRIPTION&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="DISPLAY_LABEL" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SERVICE_DIM_XLS.DISPLAY_LABEL&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MANAGER_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SERVICE_DIM_XLS.MANAGER_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SERVICE_DIM_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="NAME" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SERVICE_DIM_XLS.SERVICE_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="PARENT_SERVICE_NAME" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SERVICE_DIM_XLS.PARENT_SERVICE_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SERVICE_STATE" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SERVICE_DIM_XLS.SERVICE_STATE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SERVICE_TYPE" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SERVICE_DIM_XLS.SERVICE_TYPE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_SERVICE_DIM_XLS.BUSINESS_CRITICALITY" >
<COLUMN_REFERENCE  qualifier1="ALT_SERVICE_DIM_XLS" column="BUSINESS_CRITICALITY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SERVICE_DIM_XLS.CI_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_SERVICE_DIM_XLS" column="CI_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SERVICE_DIM_XLS.DESCRIPTION" >
<COLUMN_REFERENCE  qualifier1="ALT_SERVICE_DIM_XLS" column="DESCRIPTION" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SERVICE_DIM_XLS.DISPLAY_LABEL" >
<COLUMN_REFERENCE  qualifier1="ALT_SERVICE_DIM_XLS" column="DISPLAY_LABEL" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SERVICE_DIM_XLS.MANAGER_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_SERVICE_DIM_XLS" column="MANAGER_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SERVICE_DIM_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_SERVICE_DIM_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SERVICE_DIM_XLS.SERVICE_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_SERVICE_DIM_XLS" column="SERVICE_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SERVICE_DIM_XLS.PARENT_SERVICE_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_SERVICE_DIM_XLS" column="PARENT_SERVICE_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SERVICE_DIM_XLS.SERVICE_STATE" >
<COLUMN_REFERENCE  qualifier1="ALT_SERVICE_DIM_XLS" column="SERVICE_STATE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SERVICE_DIM_XLS.SERVICE_TYPE" >
<COLUMN_REFERENCE  qualifier1="ALT_SERVICE_DIM_XLS" column="SERVICE_TYPE" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_SERVICE_DIM_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_SERVICE_DIM_XLS.DELETE_FLAG, 'N') != 'Y') AND&#xA;   (ALT_SERVICE_DIM_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_SERVICE_DIM_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_SERVICE_DIM_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_ALTSERVICE" filename="$P_Dynamic_File_Name" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_ALTSERVICE"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_SERVICE_DIM_XLS" name="ALT_SERVICE_DIM_XLS" >
<DIOutputView name="ALT_SERVICE_DIM_XLS"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTSERVICE_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTSERVICE data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 16 Feb 2011 12:22:53"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTSERVICE EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTSERVICE_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSERVICE_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_ALTSERVICE_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_ALTSERVICE_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALTSERVICE_" datatype="VARCHAR" size="15" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTSERVICE_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSERVICE_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTSERVICE_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSERVICE_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTSERVICE_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTSERVICE_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 16 Feb 2011 12:22:53"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_SERVICE_DIM_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="NVL(ALT_SERVICE_DIM_XLS.DELETE_FLAG,'N')='Y' AND ALT_SERVICE_DIM_XLS.MD_BUSINESS_KEY&lt;&gt;'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SERVICE_DIM_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_SERVICE_DIM_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_SERVICE_DIM_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_SERVICE_DIM_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_SERVICE_DIM_XLS.DELETE_FLAG, 'N') = 'Y') AND&#xA;   (ALT_SERVICE_DIM_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_SERVICE_DIM_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_SERVICE_DIM_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_SERVICE_DIM_XLS" name="ALT_SERVICE_DIM_XLS" >
<DIOutputView name="ALT_SERVICE_DIM_XLS"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTSERVICESTATUS data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 24 Mar 2011 21:07:48"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTSERVICESTATUS data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table ALTSERVICESTATUS and writing it to the target ALTSERVICESTATUS_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;#CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_ALTSERVICESTATUS' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;#$L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;#$L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_ALTSERVICESTATUS_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_ALTSERVICESTATUS_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALTSERVICESTATUS_" datatype="VARCHAR" size="21" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 24 Mar 2011 21:07:48"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_SERVICESTATUS_FACT_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="NVL(ALT_SERVICESTATUS_FACT_XLS.DELETE_FLAG,'N')&lt;&gt;'Y' AND ALT_SERVICESTATUS_FACT_XLS.MD_BUSINESS_KEY &lt;&gt;'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="DATE_RECORD_START" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SERVICESTATUS_FACT_XLS.DATE_RECORD_START&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="DATE_STATUS_START" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SERVICESTATUS_FACT_XLS.DATE_STATUS_START&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="DURATION" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SERVICESTATUS_FACT_XLS.DURATION&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SERVICESTATUS_FACT_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MEASURETYPE" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SERVICESTATUS_FACT_XLS.MEASURETYPE_NAME &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PERIOD" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SERVICESTATUS_FACT_XLS.PERIOD_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SERVICE" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SERVICESTATUS_FACT_XLS.SERVICE_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="STATUS" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SERVICESTATUS_FACT_XLS.STATUS_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_SERVICESTATUS_FACT_XLS.DATE_RECORD_START" >
<COLUMN_REFERENCE  qualifier1="ALT_SERVICESTATUS_FACT_XLS" column="DATE_RECORD_START" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SERVICESTATUS_FACT_XLS.DATE_STATUS_START" >
<COLUMN_REFERENCE  qualifier1="ALT_SERVICESTATUS_FACT_XLS" column="DATE_STATUS_START" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SERVICESTATUS_FACT_XLS.DURATION" >
<COLUMN_REFERENCE  qualifier1="ALT_SERVICESTATUS_FACT_XLS" column="DURATION" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SERVICESTATUS_FACT_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_SERVICESTATUS_FACT_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SERVICESTATUS_FACT_XLS.MEASURETYPE_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_SERVICESTATUS_FACT_XLS" column="MEASURETYPE_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SERVICESTATUS_FACT_XLS.PERIOD_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_SERVICESTATUS_FACT_XLS" column="PERIOD_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SERVICESTATUS_FACT_XLS.SERVICE_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_SERVICESTATUS_FACT_XLS" column="SERVICE_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SERVICESTATUS_FACT_XLS.STATUS_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_SERVICESTATUS_FACT_XLS" column="STATUS_NAME" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_SERVICESTATUS_FACT_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_SERVICESTATUS_FACT_XLS.DELETE_FLAG, 'N') != 'Y') AND&#xA;   (ALT_SERVICESTATUS_FACT_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_SERVICESTATUS_FACT_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_SERVICESTATUS_FACT_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_ALTSERVICESTATUS" filename="$P_Dynamic_File_Name" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_ALTSERVICESTATUS"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_SERVICESTATUS_FACT_XLS" name="ALT_SERVICESTATUS_FACT_XLS" >
<DIOutputView name="ALT_SERVICESTATUS_FACT_XLS"  />
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTSERVICESTATUS data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 24 Mar 2011 21:07:48"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTSERVICESTATUS EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_ALTSERVICESTATUS_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_ALTSERVICESTATUS_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALTSERVICESTATUS_" datatype="VARCHAR" size="21" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTSERVICESTATUS_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 24 Mar 2011 21:07:48"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_SERVICESTATUS_FACT_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="NVL(ALT_SERVICESTATUS_FACT_XLS.DELETE_FLAG,'N')='Y' AND ALT_SERVICESTATUS_FACT_XLS.MD_BUSINESS_KEY &lt;&gt;'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SERVICESTATUS_FACT_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_SERVICESTATUS_FACT_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_SERVICESTATUS_FACT_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_SERVICESTATUS_FACT_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_SERVICESTATUS_FACT_XLS.DELETE_FLAG, 'N') = 'Y') AND&#xA;   (ALT_SERVICESTATUS_FACT_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_SERVICESTATUS_FACT_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_SERVICESTATUS_FACT_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_SERVICESTATUS_FACT_XLS" name="ALT_SERVICESTATUS_FACT_XLS" >
<DIOutputView name="ALT_SERVICESTATUS_FACT_XLS"  />
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTSLA_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTSLA data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 3 Mar 2011 19:28:02"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTSLA data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_ALTSLA_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table ALTSLA and writing it to the target ALTSLA_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_ALTSLA_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_ALTSLA_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_ALTSLA_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_ALTSLA_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_ALTSLA_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTSLA_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSLA_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;#CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_ALTSLA' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;#$L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;#$L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_ALTSLA_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_ALTSLA_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALTSLA_" datatype="VARCHAR" size="11" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTSLA_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSLA_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTSLA_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSLA_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTSLA_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTSLA_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 3 Mar 2011 19:28:02"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALTSRC_SLA_DIM"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="NVL(ALTSRC_SLA_DIM.DELETE_FLAG, 'N')&lt;&gt;'Y' AND ALTSRC_SLA_DIM.MD_BUSINESS_KEY &lt;&gt; 'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="DATE_END_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALTSRC_SLA_DIM.DATE_END_LOC&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="DATE_START_LOC" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALTSRC_SLA_DIM.DATE_START_LOC&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALTSRC_SLA_DIM.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SLA_NAME" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALTSRC_SLA_DIM.SLA_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SLA_STATE" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALTSRC_SLA_DIM.SLA_STATE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SLA_TYPE" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALTSRC_SLA_DIM.SLA_TYPE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALTSRC_SLA_DIM.DATE_END_LOC" >
<COLUMN_REFERENCE  qualifier1="ALTSRC_SLA_DIM" column="DATE_END_LOC" />
</DIExpression>
<DIExpression isString="true" expr="ALTSRC_SLA_DIM.DATE_START_LOC" >
<COLUMN_REFERENCE  qualifier1="ALTSRC_SLA_DIM" column="DATE_START_LOC" />
</DIExpression>
<DIExpression isString="true" expr="ALTSRC_SLA_DIM.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALTSRC_SLA_DIM" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALTSRC_SLA_DIM.SLA_NAME" >
<COLUMN_REFERENCE  qualifier1="ALTSRC_SLA_DIM" column="SLA_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALTSRC_SLA_DIM.SLA_STATE" >
<COLUMN_REFERENCE  qualifier1="ALTSRC_SLA_DIM" column="SLA_STATE" />
</DIExpression>
<DIExpression isString="true" expr="ALTSRC_SLA_DIM.SLA_TYPE" >
<COLUMN_REFERENCE  qualifier1="ALTSRC_SLA_DIM" column="SLA_TYPE" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALTSRC_SLA_DIM" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALTSRC_SLA_DIM.DELETE_FLAG, 'N') != 'Y') AND&#xA;   (ALTSRC_SLA_DIM.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALTSRC_SLA_DIM" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALTSRC_SLA_DIM" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_ALTSLA" filename="$P_Dynamic_File_Name" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_ALTSLA"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALTSRC_SLA_DIM" name="ALTSRC_SLA_DIM" >
<DIOutputView name="ALTSRC_SLA_DIM"  />
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTSLA_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTSLA data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 3 Mar 2011 19:28:02"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTSLA EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTSLA_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSLA_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_ALTSLA_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_ALTSLA_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALTSLA_" datatype="VARCHAR" size="11" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTSLA_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSLA_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTSLA_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSLA_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTSLA_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTSLA_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 3 Mar 2011 19:28:02"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALTSRC_SLA_DIM"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="nvl(ALTSRC_SLA_DIM.DELETE_FLAG,'N') = 'Y' AND ALTSRC_SLA_DIM.MD_BUSINESS_KEY &lt;&gt; 'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALTSRC_SLA_DIM.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALTSRC_SLA_DIM.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALTSRC_SLA_DIM" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALTSRC_SLA_DIM" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALTSRC_SLA_DIM.DELETE_FLAG, 'N') = 'Y') AND&#xA;   (ALTSRC_SLA_DIM.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALTSRC_SLA_DIM" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALTSRC_SLA_DIM" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALTSRC_SLA_DIM" name="ALTSRC_SLA_DIM" >
<DIOutputView name="ALTSRC_SLA_DIM"  />
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_SLAOUTAGE_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the SLAOUTAGE data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 11 Mar 2011 16:40:33"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the SLAOUTAGE data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_SLAOUTAGE_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table SLAOUTAGE and writing it to the target SLAOUTAGE_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_SLAOUTAGE_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_SLAOUTAGE_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_SLAOUTAGE_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_SLAOUTAGE_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_SLAOUTAGE_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_SLAOUTAGE_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_SLAOUTAGE_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;#CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_SLAOUTAGE' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;#$L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;#$L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_SLAOUTAGE_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_SLAOUTAGE_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_SLAOUTAGE_" datatype="VARCHAR" size="14" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_SLAOUTAGE_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_SLAOUTAGE_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_SLAOUTAGE_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_SLAOUTAGE_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_SLAOUTAGE_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_SLAOUTAGE_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 11 Mar 2011 16:40:33"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_SLAOUTAGE"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="( nvl(ALT_SLAOUTAGE.DELETE_FLAG, 'N') &lt;&gt; 'Y' and ALT_SLAOUTAGE.MD_BUSINESS_KEY &lt;&gt; 'DUMMY ROW - DO NOT REMOVE')"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="EXPECTED_UPTIME" datatype="DOUBLE" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SLAOUTAGE.EXPECTED_UPTIME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SLAOUTAGE.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="OUTAGE_COUNT" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SLAOUTAGE.OUTAGE_COUNT&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PERIOD_START_DATE" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SLAOUTAGE.PERIOD_START_DATE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PERIODICITY" datatype="VARCHAR" size="20" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SLAOUTAGE.PERIODICITY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SERVICE_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SLAOUTAGE.SERVICE_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="SLA_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SLAOUTAGE.SLA_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="TRACKING_TYPE" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SLAOUTAGE.TRACKING_TYPE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="UNPLANNED_DOWNTIME" datatype="DOUBLE" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SLAOUTAGE.UNPLANNED_DOWNTIME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_SLAOUTAGE.EXPECTED_UPTIME" >
<COLUMN_REFERENCE  qualifier1="ALT_SLAOUTAGE" column="EXPECTED_UPTIME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SLAOUTAGE.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_SLAOUTAGE" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SLAOUTAGE.OUTAGE_COUNT" >
<COLUMN_REFERENCE  qualifier1="ALT_SLAOUTAGE" column="OUTAGE_COUNT" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SLAOUTAGE.PERIOD_START_DATE" >
<COLUMN_REFERENCE  qualifier1="ALT_SLAOUTAGE" column="PERIOD_START_DATE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SLAOUTAGE.PERIODICITY" >
<COLUMN_REFERENCE  qualifier1="ALT_SLAOUTAGE" column="PERIODICITY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SLAOUTAGE.SERVICE_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_SLAOUTAGE" column="SERVICE_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SLAOUTAGE.SLA_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_SLAOUTAGE" column="SLA_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SLAOUTAGE.TRACKING_TYPE" >
<COLUMN_REFERENCE  qualifier1="ALT_SLAOUTAGE" column="TRACKING_TYPE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SLAOUTAGE.UNPLANNED_DOWNTIME" >
<COLUMN_REFERENCE  qualifier1="ALT_SLAOUTAGE" column="UNPLANNED_DOWNTIME" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_SLAOUTAGE" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_SLAOUTAGE.DELETE_FLAG, 'N') != 'Y') AND&#xA;   (ALT_SLAOUTAGE.MD_BUSINESS_KEY != 'DUMMY ROW - DO NOT REMOVE'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_SLAOUTAGE" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_SLAOUTAGE" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY ROW - DO NOT REMOVE" datatype="VARCHAR" size="25" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_SLAOUTAGE" filename="$P_Dynamic_File_Name" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_SLAOUTAGE"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_SLAOUTAGE" name="ALT_SLAOUTAGE" >
<DIOutputView name="ALT_SLAOUTAGE"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_SLAOUTAGE_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the SLAOUTAGE data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 11 Mar 2011 16:40:33"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the SLAOUTAGE EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_SLAOUTAGE_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_SLAOUTAGE_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_SLAOUTAGE_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_SLAOUTAGE_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_SLAOUTAGE_" datatype="VARCHAR" size="14" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_SLAOUTAGE_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_SLAOUTAGE_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_SLAOUTAGE_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_SLAOUTAGE_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_SLAOUTAGE_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_SLAOUTAGE_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Fri, 11 Mar 2011 16:40:33"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_SLAOUTAGE"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="( nvl(ALT_SLAOUTAGE.DELETE_FLAG, 'N') = 'Y' and ALT_SLAOUTAGE.MD_BUSINESS_KEY &lt;&gt; 'DUMMY ROW - DO NOT REMOVE')"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SLAOUTAGE.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_SLAOUTAGE.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_SLAOUTAGE" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_SLAOUTAGE" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_SLAOUTAGE.DELETE_FLAG, 'N') = 'Y') AND&#xA;   (ALT_SLAOUTAGE.MD_BUSINESS_KEY != 'DUMMY ROW - DO NOT REMOVE'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_SLAOUTAGE" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_SLAOUTAGE" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY ROW - DO NOT REMOVE" datatype="VARCHAR" size="25" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_SLAOUTAGE" name="ALT_SLAOUTAGE" >
<DIOutputView name="ALT_SLAOUTAGE"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_SLASTATUS_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTSLASTATUS data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 2 Mar 2011 02:15:11"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTSLASTATUS data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_ALTSLASTATUS_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table ALTSLASTATUS and writing it to the target ALTSLASTATUS_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_ALTSLASTATUS_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_ALTSLASTATUS_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_ALTSLASTATUS_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_ALTSLASTATUS_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_ALTSLASTATUS_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_SLASTATUS_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_SLASTATUS_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;#CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_ALTSLASTATUS' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;#$L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;#$L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_SLASTATUS_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_SLASTATUS_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_SLASTATUS_" datatype="VARCHAR" size="14" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_SLASTATUS_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_SLASTATUS_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTSLASTATUS_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_SLASTATUS_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTSLASTATUS_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_SLASTATUS_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 2 Mar 2011 02:15:11"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_SLASTATUS_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="NVL(ALT_SLASTATUS_XLS.DELETE_FLAG,'N')&lt;&gt;'Y' AND ALT_SLASTATUS_XLS.MD_BUSINESS_KEY&lt;&gt;'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="CALENDAR_PERIOD" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SLASTATUS_XLS.CALENDAR_PERIOD"/>
</DIAttributes>
</DIElement>
<DIElement name="CONSUMER_ORG_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SLASTATUS_XLS.CONSUMER_ORG_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="IS_OPEN" datatype="VARCHAR" size="1" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SLASTATUS_XLS.IS_OPEN"/>
</DIAttributes>
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SLASTATUS_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MEASURETYPE_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SLASTATUS_XLS.MEASURETYPE_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="OBJ_COUNT" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SLASTATUS_XLS.OBJ_COUNT"/>
</DIAttributes>
</DIElement>
<DIElement name="OBJ_MET_COUNT" datatype="DECIMAL" precision="16" scale="0" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SLASTATUS_XLS.OBJ_MET_COUNT"/>
</DIAttributes>
</DIElement>
<DIElement name="PERIOD_START_DATE" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SLASTATUS_XLS.&quot;DATE&quot;"/>
</DIAttributes>
</DIElement>
<DIElement name="PROVIDER_ORG_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SLASTATUS_XLS.PROVIDER_ORG_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="SERVICE_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SLASTATUS_XLS.SERVICE_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="SLA_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SLASTATUS_XLS.SLA_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="STATUS_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SLASTATUS_XLS.STATUS_NAME"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_SLASTATUS_XLS.CALENDAR_PERIOD" >
<COLUMN_REFERENCE  qualifier1="ALT_SLASTATUS_XLS" column="CALENDAR_PERIOD" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SLASTATUS_XLS.CONSUMER_ORG_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_SLASTATUS_XLS" column="CONSUMER_ORG_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SLASTATUS_XLS.IS_OPEN" >
<COLUMN_REFERENCE  qualifier1="ALT_SLASTATUS_XLS" column="IS_OPEN" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SLASTATUS_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_SLASTATUS_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SLASTATUS_XLS.MEASURETYPE_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_SLASTATUS_XLS" column="MEASURETYPE_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SLASTATUS_XLS.OBJ_COUNT" >
<COLUMN_REFERENCE  qualifier1="ALT_SLASTATUS_XLS" column="OBJ_COUNT" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SLASTATUS_XLS.OBJ_MET_COUNT" >
<COLUMN_REFERENCE  qualifier1="ALT_SLASTATUS_XLS" column="OBJ_MET_COUNT" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SLASTATUS_XLS.&quot;DATE&quot;" >
<COLUMN_REFERENCE  qualifier1="ALT_SLASTATUS_XLS" column="DATE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SLASTATUS_XLS.PROVIDER_ORG_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_SLASTATUS_XLS" column="PROVIDER_ORG_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SLASTATUS_XLS.SERVICE_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_SLASTATUS_XLS" column="SERVICE_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SLASTATUS_XLS.SLA_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_SLASTATUS_XLS" column="SLA_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SLASTATUS_XLS.STATUS_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_SLASTATUS_XLS" column="STATUS_NAME" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_SLASTATUS_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_SLASTATUS_XLS.DELETE_FLAG, 'N') != 'Y') AND&#xA;   (ALT_SLASTATUS_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_SLASTATUS_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_SLASTATUS_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIExcelSource typeID="130" datastoreName="ALT_SLASTATUS_XLS" name="ALT_SLASTATUS_XLS" >
<DIOutputView name="ALT_SLASTATUS_XLS"  />
</DIExcelSource>

<DIFileTarget typeId="3" formatName="ALT_SLASTATUS" filename="$P_Dynamic_File_Name" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_ALTSLASTATUS"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_SLASTATUS_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the SLASTATUS data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 2 Mar 2011 02:15:11"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTSLASTATUS EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_SLASTATUS_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_SLASTATUS_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_SLASTATUS_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_SLASTATUS_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_SLASTATUS_" datatype="VARCHAR" size="14" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_SLASTATUS_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_SLASTATUS_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTSLASTATUS_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_SLASTATUS_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTSLASTATUS_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_SLASTATUS_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 2 Mar 2011 02:15:11"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_SLASTATUS_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="NVL(ALT_SLASTATUS_XLS.DELETE_FLAG,'N')='Y' AND ALT_SLASTATUS_XLS.MD_BUSINESS_KEY&lt;&gt;'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SLASTATUS_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_SLASTATUS_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_SLASTATUS_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_SLASTATUS_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_SLASTATUS_XLS.DELETE_FLAG, 'N') = 'Y') AND&#xA;   (ALT_SLASTATUS_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_SLASTATUS_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_SLASTATUS_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_SLASTATUS_XLS" name="ALT_SLASTATUS_XLS" >
<DIOutputView name="ALT_SLASTATUS_XLS"  />
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTSURVEY_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTSURVEY data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 31 Mar 2011 14:28:08"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTSURVEY data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_ALTSURVEY_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table ALTSURVEY and writing it to the target ALTSURVEY_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_ALTSURVEY_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_ALTSURVEY_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_ALTSURVEY_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_ALTSURVEY_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_ALTSURVEY_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTSURVEY_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSURVEY_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;#CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_ALTSURVEY' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;#$L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;#$L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_ALTSURVEY_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_ALTSURVEY_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALTSURVEY_" datatype="VARCHAR" size="14" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTSURVEY_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSURVEY_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTSURVEY_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSURVEY_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTSURVEY_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTSURVEY_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 31 Mar 2011 14:28:08"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_SURVEY_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="ALT_SURVEY_XLS.DELETE_FLAG &lt;&gt; 'Y' and  ALT_SURVEY_XLS.MD_BUSINESS_KEY &lt;&gt; 'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="FULL_MARK_SCORE" datatype="DOUBLE" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SURVEY_XLS.FULL_MARK_SCORE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SURVEY_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SURVEY_NAME" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SURVEY_XLS.SURVEY_NAME&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SURVEY_NAME_ALT" datatype="VARCHAR" size="60" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SURVEY_XLS.SURVEY_NAME_ALT&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SURVEY_TYPE" datatype="VARCHAR" size="32" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SURVEY_XLS.SURVEY_TYPE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_SURVEY_XLS.FULL_MARK_SCORE" >
<COLUMN_REFERENCE  qualifier1="ALT_SURVEY_XLS" column="FULL_MARK_SCORE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SURVEY_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_SURVEY_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SURVEY_XLS.SURVEY_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_SURVEY_XLS" column="SURVEY_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SURVEY_XLS.SURVEY_NAME_ALT" >
<COLUMN_REFERENCE  qualifier1="ALT_SURVEY_XLS" column="SURVEY_NAME_ALT" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SURVEY_XLS.SURVEY_TYPE" >
<COLUMN_REFERENCE  qualifier1="ALT_SURVEY_XLS" column="SURVEY_TYPE" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_SURVEY_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((ALT_SURVEY_XLS.DELETE_FLAG != 'Y') AND&#xA;   (ALT_SURVEY_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_SURVEY_XLS" column="DELETE_FLAG" />
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_SURVEY_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_ALTSURVEY" filename="$P_Dynamic_File_Name" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_ALTSURVEY"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_SURVEY_XLS" name="ALT_SURVEY_XLS" >
<DIOutputView name="ALT_SURVEY_XLS"  />
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTSURVEY_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTSURVEY data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 31 Mar 2011 14:28:08"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTSURVEY EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTSURVEY_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSURVEY_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_ALTSURVEY_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_ALTSURVEY_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALTSURVEY_" datatype="VARCHAR" size="14" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTSURVEY_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSURVEY_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTSURVEY_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSURVEY_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTSURVEY_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTSURVEY_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Thu, 31 Mar 2011 14:28:08"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_SURVEY_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="nvl(ALT_SURVEY_XLS.DELETE_FLAG,'N') = 'Y' and  ALT_SURVEY_XLS.MD_BUSINESS_KEY &lt;&gt; 'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SURVEY_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_SURVEY_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_SURVEY_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_SURVEY_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_SURVEY_XLS.DELETE_FLAG, 'N') = 'Y') AND&#xA;   (ALT_SURVEY_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_SURVEY_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_SURVEY_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_SURVEY_XLS" name="ALT_SURVEY_XLS" >
<DIOutputView name="ALT_SURVEY_XLS"  />
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTSURVEYSCORE data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Sat, 2 Apr 2011 15:33:34"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTSURVEYSCORE data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table ALTSURVEYSCORE and writing it to the target ALTSURVEYSCORE_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;#CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_ALTSURVEYSCORE' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;#$L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;#$L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_ALTSURVEYSCORE_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_ALTSURVEYSCORE_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALTSURVEYSCORE_" datatype="VARCHAR" size="19" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Sat, 2 Apr 2011 15:33:34"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_SURVEYSCORE_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="nvl(ALT_SURVEYSCORE_XLS.DELETE_FLAG, 'N') &lt;&gt; 'Y' and ALT_SURVEYSCORE_XLS.MD_BUSINESS_KEY &lt;&gt; 'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="EMPLOYMENT_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SURVEYSCORE_XLS.EMPLOYMENT_BUSINESS_KEY"/>
</DIAttributes>
</DIElement>
<DIElement name="LOCATION_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SURVEYSCORE_XLS.LOCATION_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SURVEYSCORE_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="ORG_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SURVEYSCORE_XLS.ORG_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="PERIOD_START_DATE" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SURVEYSCORE_XLS.PERIOD_START_DATE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="PERSON_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SURVEYSCORE_XLS.PERSON_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="SCORE" datatype="DOUBLE" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SURVEYSCORE_XLS.SCORE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="SURVEY_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SURVEYSCORE_XLS.SURVEY_NAME"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_SURVEYSCORE_XLS.EMPLOYMENT_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_SURVEYSCORE_XLS" column="EMPLOYMENT_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SURVEYSCORE_XLS.LOCATION_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_SURVEYSCORE_XLS" column="LOCATION_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SURVEYSCORE_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_SURVEYSCORE_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SURVEYSCORE_XLS.ORG_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_SURVEYSCORE_XLS" column="ORG_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SURVEYSCORE_XLS.PERIOD_START_DATE" >
<COLUMN_REFERENCE  qualifier1="ALT_SURVEYSCORE_XLS" column="PERIOD_START_DATE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SURVEYSCORE_XLS.PERSON_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_SURVEYSCORE_XLS" column="PERSON_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SURVEYSCORE_XLS.SCORE" >
<COLUMN_REFERENCE  qualifier1="ALT_SURVEYSCORE_XLS" column="SCORE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_SURVEYSCORE_XLS.SURVEY_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_SURVEYSCORE_XLS" column="SURVEY_NAME" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_SURVEYSCORE_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_SURVEYSCORE_XLS.DELETE_FLAG, 'N') != 'Y') AND&#xA;   (ALT_SURVEYSCORE_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_SURVEYSCORE_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_SURVEYSCORE_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_ALTSURVEYSCORE" filename="$P_Dynamic_File_Name" >
<DIUIOptions>
<DIAttribute name="ui_display_name" value="&quot;$P_Dynamic_File_Name&quot;(ALT_ALTSURVEYSCORE)"/>
</DIUIOptions>
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_ALTSURVEYSCORE"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_SURVEYSCORE_XLS" name="ALT_SURVEYSCORE_XLS" >
<DIOutputView name="ALT_SURVEYSCORE_XLS"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTSURVEYSCORE data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Sat, 2 Apr 2011 15:33:34"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTSURVEYSCORE EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_ALTSURVEYSCORE_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_ALTSURVEYSCORE_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALTSURVEYSCORE_" datatype="VARCHAR" size="19" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTSURVEYSCORE_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Sat, 2 Apr 2011 15:33:34"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_SURVEYSCORE_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="nvl(ALT_SURVEYSCORE_XLS.DELETE_FLAG, 'N') = 'Y' and ALT_SURVEYSCORE_XLS.MD_BUSINESS_KEY &lt;&gt; 'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_SURVEYSCORE_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_SURVEYSCORE_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_SURVEYSCORE_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_SURVEYSCORE_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_SURVEYSCORE_XLS.DELETE_FLAG, 'N') = 'Y') AND&#xA;   (ALT_SURVEYSCORE_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_SURVEYSCORE_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_SURVEYSCORE_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_SURVEYSCORE_XLS" name="ALT_SURVEYSCORE_XLS" >
<DIOutputView name="ALT_SURVEYSCORE_XLS"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTTIME_TO_MARKET data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 23 Mar 2011 16:14:44"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTTIME_TO_MARKET data.&#xD;&#xA;&#xD;&#xA;The workflow ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_FF_WF is the workflow responsible for extracting data from the source table ALTTIME_TO_MARKET and writing it to the target ALTTIME_TO_MARKET_FF.  The workflow will be composed of the following objects:&#xD;&#xA;&#x9;ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_FF_TRY - The beginning of the TRY/CATCH block in Data Integrator&#xD;&#xA;&#x9;ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_FF_START_SC - The script that calls the custom function that initiates the metadata tracking for the workflow.&#xD;&#xA;&#x9;ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_FF_DF - The dataflow that extracts the data from the source system.&#xD;&#xA;&#x9;ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_FF_END_SC - The script that calls the custom function that closes the metadata for the workflow.&#xD;&#xA;&#x9;ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_FF_CATCH - The end of the TRY/CATCH block.  It contains the script that calls the custom function which writes metadata if there is a failure."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_IDENTIFIER" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_OFFSET_IN_MINUTES" datatype="INT" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;#CDC_GET_EXTRACT_START_DATE_FN( $L_EXTRACT_BEGIN_DATE, 'ALT_ALTTIME_TO_MARKET' );&#xD;&#xA;# convert the CDC time to UTC &#xD;&#xA;#$L_OFFSET_IN_MINUTES = CDC_GET_MAX_DST($L_EXTRACT_BEGIN_DATE,'ALT');&#xD;&#xA;#$L_EXTRACT_BEGIN_DATE = $L_EXTRACT_BEGIN_DATE - num_to_interval($L_OFFSET_IN_MINUTES, 'M');&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name ='ALT_ALTTIME_TO_MARKET_' ||$G_CONTENT_PACK_ID||'_EXTRACT_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' ||$L_Dynamic_File_Name); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION  ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name" >
<DIExpression isString="true" expr="(('ALT_ALTTIME_TO_MARKET_' || $G_CONTENT_PACK_ID) || '_EXTRACT_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALTTIME_TO_MARKET_" datatype="VARCHAR" size="22" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_FF.TXT" datatype="VARCHAR" size="15" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
<DIAttribute name="ParmDefaulted_03" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Name" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_EXTRACT_BEGIN_DATE" >
<VARIABLE_REFERENCE name="$L_EXTRACT_BEGIN_DATE" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 23 Mar 2011 16:14:44"/>
<DIAttribute name="Description" value="The dataflow for extraction sources data from the defined source table.  Data is pulled from the source table based on the source tables LASTMODDATE value.  All data that was inserted or updated after a specific date will be loaded into the target file.  &#xD;&#xA;The file that is created by the process will be a delimited file.  The delimiter for this file is |^|.  The dataflow not only loads the target file it also writes an audit file.  The audit file contains the source count and the target count based on the specific where clause.  This file will be used by an ABC audit process outside of the ETL process."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Name" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_EXTRACT_BEGIN_DATE" datatype="DATETIME" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_TIME_TO_MARKET_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="nvl(ALT_TIME_TO_MARKET_XLS.DELETE_FLAG, 'N') &lt;&gt; 'Y' and  ALT_TIME_TO_MARKET_XLS.MD_BUSINESS_KEY &lt;&gt; 'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="INIT_START_DATE" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_TIME_TO_MARKET_XLS.INIT_START_DATE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="LOCATION_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_TIME_TO_MARKET_XLS.LOCATION_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" key="true" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_TIME_TO_MARKET_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
<DIElement name="ORG_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_TIME_TO_MARKET_XLS.ORG_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="PRODUCT_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_TIME_TO_MARKET_XLS.PRODUCT_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="PROJECT_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_TIME_TO_MARKET_XLS.PROJECT_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="SERVICE_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_TIME_TO_MARKET_XLS.SERVICE_NAME"/>
</DIAttributes>
</DIElement>
<DIElement name="TT_MKT_START_DATE" datatype="DATETIME" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_TIME_TO_MARKET_XLS.TT_MKT_START_DATE&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_TIME_TO_MARKET_XLS.INIT_START_DATE" >
<COLUMN_REFERENCE  qualifier1="ALT_TIME_TO_MARKET_XLS" column="INIT_START_DATE" />
</DIExpression>
<DIExpression isString="true" expr="ALT_TIME_TO_MARKET_XLS.LOCATION_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_TIME_TO_MARKET_XLS" column="LOCATION_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_TIME_TO_MARKET_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_TIME_TO_MARKET_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
<DIExpression isString="true" expr="ALT_TIME_TO_MARKET_XLS.ORG_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_TIME_TO_MARKET_XLS" column="ORG_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_TIME_TO_MARKET_XLS.PRODUCT_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_TIME_TO_MARKET_XLS" column="PRODUCT_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_TIME_TO_MARKET_XLS.PROJECT_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_TIME_TO_MARKET_XLS" column="PROJECT_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_TIME_TO_MARKET_XLS.SERVICE_NAME" >
<COLUMN_REFERENCE  qualifier1="ALT_TIME_TO_MARKET_XLS" column="SERVICE_NAME" />
</DIExpression>
<DIExpression isString="true" expr="ALT_TIME_TO_MARKET_XLS.TT_MKT_START_DATE" >
<COLUMN_REFERENCE  qualifier1="ALT_TIME_TO_MARKET_XLS" column="TT_MKT_START_DATE" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_TIME_TO_MARKET_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_TIME_TO_MARKET_XLS.DELETE_FLAG, 'N') != 'Y') AND&#xA;   (ALT_TIME_TO_MARKET_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="NE">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_TIME_TO_MARKET_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_TIME_TO_MARKET_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_ALTTIME_TO_MARKET" filename="$P_Dynamic_File_Name" >
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_ALTTIME_TO_MARKET"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_TIME_TO_MARKET_XLS" name="ALT_TIME_TO_MARKET_XLS" >
<DIOutputView name="ALT_TIME_TO_MARKET_XLS"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>
<AuditObjects>
</AuditObjects>
<AuditRules>
</AuditRules>
<Notifications>
<RaiseException Enabled="false">
</RaiseException>
<Mail Enabled="false"/>
<Script Enabled="false">ABC_ADDAUDITMEASURE_FN(get_env(&apos;ETL_PROCESS_ID&apos;), workflow_name(), &apos;SOURCE_EXTRACT_VOLUME&apos;,$Count_QRY_SRC_DATE_RANGE , &apos;INT&apos;, &apos;volume check&apos;, &apos;number of rows loaded into flat file&apos;);</Script>
</Notifications>
</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_DELETE_FF_WF" typeId="2" >
<DIUIOptions>
<DIAnnotation name="ANNOTATION_0"><DIAttribute name="ObjectDesc" value="This Workflow houses the extraction process into a flat file for the ALTTIME_TO_MARKET data."/>
</DIAnnotation><DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 23 Mar 2011 16:14:44"/>
<DIAttribute name="Description" value="This Workflow houses the extraction process into a flat file for the ALTTIME_TO_MARKET EXTD data."/>
</DIProperties>
<DIVariables>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="LOCAL" name="$L_Date_Extension" datatype="VARCHAR" size="16" >
</DIElement>
</DIVariables>
<DISteps>
<DITryStep typeId="13" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="the Try of the Try / Catch Block"/>
<DIAttribute name="ui_display_name" value="ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_DELETE_FF_TRY"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_STARTWF_FN and initialize the local workflow variables."/>
<DIAttribute name="ui_display_name" value="ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_DELETE_FF_START_SC"/>
<DIAttribute name="ui_script_text" value="ABC_STARTWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;&#xD;&#xA;$L_Dynamic_File_Name_EXTD ='ALT_ALTTIME_TO_MARKET_'||$G_CONTENT_PACK_ID||'_EXTRACT_DELETE_FF.TXT';&#xD;&#xA;ETL_PRINT('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD); &#xD;&#xA;ETL_PRINT('The File will be located in the '||$G_ALT_FILELOCATION ||' directory.' );&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_startwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_startwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIAssignmentStep typeId="12" variable="$L_Dynamic_File_Name_EXTD" >
<DIExpression isString="true" expr="(('ALT_ALTTIME_TO_MARKET_' || $G_CONTENT_PACK_ID) || '_EXTRACT_DELETE_FF.TXT')" >
<CONCAT>
<CONCAT>
<CONSTANT value="ALT_ALTTIME_TO_MARKET_" datatype="VARCHAR" size="22" />
<VARIABLE_REFERENCE name="$G_CONTENT_PACK_ID" />
</CONCAT>
<CONSTANT value="_EXTRACT_DELETE_FF.TXT" datatype="VARCHAR" size="22" />
</CONCAT>
</DIExpression>
</DIAssignmentStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print(('This Extraction Process will create the files called ' || $L_Dynamic_File_Name_EXTD))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONSTANT value="This Extraction Process will create the files called " datatype="VARCHAR" size="53" />
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="etl_print((('The File will be located in the ' || $G_ALT_FILELOCATION) || ' directory.'))" >
<FUNCTION_CALL name="etl_print"  type="DI" >
<CONCAT>
<CONCAT>
<CONSTANT value="The File will be located in the " datatype="VARCHAR" size="32" />
<VARIABLE_REFERENCE name="$G_ALT_FILELOCATION" />
</CONCAT>
<CONSTANT value=" directory." datatype="VARCHAR" size="11" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
<DICallStep typeId="1"  calledObjectType="Dataflow" name="ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_DELETE_FF_DF" >
<DIUIOptions>
<DIAttribute name="ParmDefaulted_01" value="FALSE"/>
<DIAttribute name="ParmDefaulted_02" value="FALSE"/>
</DIUIOptions>
<DIParameterValues>
<DIExpression isString="true" expr="$L_Dynamic_File_Location" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Location" />
</DIExpression>
<DIExpression isString="true" expr="$L_Dynamic_File_Name_EXTD" >
<VARIABLE_REFERENCE name="$L_Dynamic_File_Name_EXTD" />
</DIExpression>
</DIParameterValues>
</DICallStep>
<DIScript>
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This script calls the custom function ABC_ENDWF_FN."/>
<DIAttribute name="ui_display_name" value="ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_DELETE_FF_END_SC"/>
<DIAttribute name="ui_script_text" value="ABC_ENDWF_FN(workflow_name(), $G_PROCESS_ID);&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_endwf_fn(workflow_name(), $G_PROCESS_ID)" >
<FUNCTION_CALL name="abc_endwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
<DICatch typeId="20" errorCode="210101" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
<DIAttribute name="ObjectDesc" value="This is the end of the TRY/CATCH block in BO DS.  This catch block will contain the script ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_FF_FAIL_SC.  This script will call the custom function that is used to write the metadata for failed jobs."/>
<DIAttribute name="ui_display_name" value="ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_DELETE_FF_CATCH"/>
</DIUIOptions>
<DISteps>
<DIScript>
<DIUIOptions>
<DIAttribute name="ui_display_name" value="ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_DELETE_FF_FAIL_SC"/>
<DIAttribute name="ui_script_text" value="ABC_FAILWF_FN(workflow_name(), $G_PROCESS_ID, 'Error: \[' || error_number() || '\] ' || error_message());&#xD;&#xA;"/>
</DIUIOptions>
<DIFunctionCallStep typeId="23" >
<DIExpression isString="true" expr="abc_failwf_fn(workflow_name(), $G_PROCESS_ID, ((('Error: \\[' || error_number()) || '\\] ') || error_message()))" >
<FUNCTION_CALL name="abc_failwf_fn"  type="DI" >
<FUNCTION_CALL name="workflow_name"  type="DI" />
<VARIABLE_REFERENCE name="$G_PROCESS_ID" />
<CONCAT>
<CONCAT>
<CONCAT>
<CONSTANT value="Error: \[" datatype="VARCHAR" size="9" />
<FUNCTION_CALL name="error_number"  type="DI" />
</CONCAT>
<CONSTANT value="\] " datatype="VARCHAR" size="3" />
</CONCAT>
<FUNCTION_CALL name="error_message"  type="DI" />
</CONCAT>
</FUNCTION_CALL>
</DIExpression>
</DIFunctionCallStep>
</DIScript>
</DISteps>
</DICatch>
</DITryStep>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>
<DIDataflow name="ALT_ALTTIME_TO_MARKET_SOURCE_EXTRACT_DELETE_FF_DF" typeId="1" >
<DIUIOptions>
<DIAttribute name="AutoLayout" value="yes"/>
</DIUIOptions>
<DIProperties>
<DIAttribute name="GeneratorTemplate" value="PRODUCT_ENTITY_SOURCE_EXTRACT_WF (version ${project.version})"/>
<DIAttribute name="GeneratorVersion" value="v1.0"/>
<DIAttribute name="GenerationDate" value="Wed, 23 Mar 2011 16:14:44"/>
<DIAttribute name="Description" value="This Dataflow Lists out all of the business keys from the source without restriction."/>
</DIProperties>
<DIParameters>
<DIElement paramType="IN" name="$P_Dynamic_File_Location" datatype="VARCHAR" size="100" >
</DIElement>
<DIElement paramType="IN" name="$P_Dynamic_File_Name_EXTD" datatype="VARCHAR" size="100" >
</DIElement>
</DIParameters>
<DITransforms>
<DIQuery typeId="122"  >
<DIUIOptions>
<DIAttribute name="ObjectDesc" value="This Query wil limit the amount of data that is being queried in order to limit the size of the flat file target based on the platform it is loaded onto.  The Date range will be controlled by the 'C' in the ABC process."/>
<DIAttribute name="ui_acta_from_schema_0" value="ALT_TIME_TO_MARKET_XLS"/>
<DIAttribute name="ui_display_name" value="QRY_SRC_DATE_RANGE"/>
<DIAttribute name="ui_where_text" value="nvl(ALT_TIME_TO_MARKET_XLS.DELETE_FLAG,'N') = 'Y' and  ALT_TIME_TO_MARKET_XLS.MD_BUSINESS_KEY &lt;&gt; 'DUMMY'"/>
</DIUIOptions>
<DISchema name="QRY_SRC_DATE_RANGE" >
<DIElement name="MD_BUSINESS_KEY" datatype="VARCHAR" size="100" >
<DIAttributes>
<DIAttribute name="Description" value=""/>
<DIAttribute name="ui_mapping_text" value="ALT_TIME_TO_MARKET_XLS.MD_BUSINESS_KEY&#xD;&#xA; &#xD;&#xA;"/>
</DIAttributes>
</DIElement>
</DISchema>
<DISelect>
<DIProjection>
<DIExpression isString="true" expr="ALT_TIME_TO_MARKET_XLS.MD_BUSINESS_KEY" >
<COLUMN_REFERENCE  qualifier1="ALT_TIME_TO_MARKET_XLS" column="MD_BUSINESS_KEY" />
</DIExpression>
</DIProjection>
<DIFrom>
<DITableSpec name="ALT_TIME_TO_MARKET_XLS" />
</DIFrom>
<DIWhere>
<DIExpression isString="true" expr="((nvl(ALT_TIME_TO_MARKET_XLS.DELETE_FLAG, 'N') = 'Y') AND&#xA;   (ALT_TIME_TO_MARKET_XLS.MD_BUSINESS_KEY != 'DUMMY'))" >
<LOGICAL_OP op="AND">
<LOGICAL_OP op="EQ">
<FUNCTION_CALL name="nvl"  type="DI" >
<COLUMN_REFERENCE  qualifier1="ALT_TIME_TO_MARKET_XLS" column="DELETE_FLAG" />
<CONSTANT value="N" datatype="VARCHAR" size="1" />
</FUNCTION_CALL>
<CONSTANT value="Y" datatype="VARCHAR" size="1" />
</LOGICAL_OP>
<LOGICAL_OP op="NE">
<COLUMN_REFERENCE  qualifier1="ALT_TIME_TO_MARKET_XLS" column="MD_BUSINESS_KEY" />
<CONSTANT value="DUMMY" datatype="VARCHAR" size="5" />
</LOGICAL_OP>
</LOGICAL_OP>
</DIExpression>
</DIWhere>
</DISelect>
<DIAttributes>
<DIAttribute name="distinct_run_as_separate_process" value="no"/>
<DIAttribute name="group_by_run_as_separate_process" value="no"/>
<DIAttribute name="join_run_as_separate_process" value="no"/>
<DIAttribute name="order_by_run_as_separate_process" value="no"/>
<DIAttribute name="run_as_separate_process" value="no"/>
</DIAttributes>
</DIQuery>

<DIFileTarget typeId="3" formatName="ALT_EXTD_Flat_Files" filename="$P_Dynamic_File_Name_EXTD" >
<DIUIOptions>
<DIAttribute name="ui_display_name" value="&quot;$P_Dynamic_File_Name_EXTD&quot;(ALT_EXTD_Flat_Files)"/>
</DIUIOptions>
<DIInputView name="QRY_SRC_DATE_RANGE"  />
<DIAttributes>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="file_location" value="local"/>
<DIAttribute name="isstreamdebugfile" value="no"/>
<DIAttribute name="loader_load_choice" value="replace"/>
<DIAttribute name="name" value="ALT_EXTD_Flat_Files"/>
<DIAttribute name="transfer_custom" value="no"/>
<DIAttribute name="validate_decimal_data" value="yes"/>
</DIAttributes>
</DIFileTarget>

<DIExcelSource typeID="130" datastoreName="ALT_TIME_TO_MARKET_XLS" name="ALT_TIME_TO_MARKET_XLS" >
<DIOutputView name="ALT_TIME_TO_MARKET_XLS"  />
<DIAttributes>
<DIAttribute name="MSExcel_capture_data_conversion" value="no"/>
<DIAttribute name="MSExcel_data_access" value="MSExcel_none"/>
<DIAttribute name="cache" value="no"/>
<DIAttribute name="connection_port" value="no"/>
<DIAttribute name="reader_filename_col" value="DI_FILENAME"/>
<DIAttribute name="reader_filename_col_size" value="100"/>
<DIAttribute name="reader_filename_only" value="yes"/>
<DIAttribute name="reader_include_filename" value="no"/>
<DIAttribute name="table_weight" value="0"/>
</DIAttributes>
</DIExcelSource>

</DITransforms>
<DIAttributes>
<DIAttribute name="Audit" hasNestedXMLTree ="true">
<Audit>

<AuditObjects>

</AuditObjects>

<AuditRules>

</AuditRules>

<Notifications>

<RaiseException Enabled="true">

</RaiseException>

<Mail Enabled="false"/>

<Script Enabled="false"/>

</Notifications>

</Audit>
</DIAttribute>
<DIAttribute name="Cache_type" value="pageable_cache"/>
<DIAttribute name="Parallelism_degree" value="0"/>
<DIAttribute name="allows_both_input_and_output" value="yes"/>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="use_dataflow_links" value="no"/>
<DIAttribute name="use_datastore_links" value="yes"/>
<DIAttribute name="validation_xform_exists" value="no"/>
<DIAttribute name="validation_xform_stats" value="no"/>
</DIAttributes>
</DIDataflow>
<DIWorkflow name="ALT_SOURCE_EXTRACT_CUSTOM_CONT_WF" typeId="2" >
<DISteps>
</DISteps>
<DIAttributes>
<DIAttribute name="run_once" value="no"/>
<DIAttribute name="unit_of_recovery" value="no"/>
</DIAttributes>
</DIWorkflow>

</DataIntegratorExport>

